homonyms are words which are either homographs—words that mean different things but have the same spelling (regardless of pronunciation)—or homophones—words that mean different things but have the same pronunciation (regardless of spelling).
A more restrictive and technical definition requires that homonyms be simultaneously homographs and homophones