Interesting question, and for me it depends on the class (and the game system). For sake of argument, let's think of D&D classes (for me).:
A term that would be applied by an knowledgeable observer: Wizard, Warlock, Sorcerer, Monk, Druid. You see them, you know.
A term that could be applied by a knowledgeable observer: Bard, Barbarian, Paladin. The term could be used for many of the members of the class, but not all, and there will be some who are in the class but who don't get called that.
A term that wouldn't typically be used: Fighter, Rogue, Ranger, Cleric. Of course the term could be, but for these four, it's not the label that would be applied. There are priests that aren't Clerics, and there are some that are. There are mountain guides that aren't Rangers, but some that are. And even if all individuals with a non-supernatural-looking pet are Rangers, that's not a characteristic NPCs would identify as class-dependent. Fighters and Rogues look alike and are interchangeable; you can't tell by observing them.
NPCs might partake of any of these, but they need not do so.