Eine (Objekt-)Klasse beschreibt mittels seiner Attribute die Eigenschaften eines abstrakten Typs. Ein Eintrag innerhalb des Verzeichnisses repräsentiert eine Ausprägung oder Instantiierung dieses Typs, indem er den Attributen konkrete Werte zuordnet.
Es existieren drei Typen von Objektklassen mit den folgenden Eigenschaften:
Jedes Objekt muss genau einer Klasse dieses Typs angehören. Sie bestimmt die eigentliche Natur eines Objektes, wie z.B. ob es sich um eine Person oder eine Abteilung handelt.
Dieser Klassentyp wird für "Hilfsklassen" verwendet, die nicht alleine stehen können. Sie sind dazu gedacht Objekte, die bereits einer structural- Klasse angehören, um zusätzliche Attribute zu erweitern. Neben seiner bestimmenden structural-Klasse kann ein Objekt beliebig vielen Klassen vom Typ auxiliary angehören.
Dieser Klassentyp wird eher selten verwendet. Er dient als Vorlage für abgeleitete Klassen, da er seine Attribute lediglich weitervererbt, jedoch selbst keinem Objekt angehören kann. Bekannte Beispiele für die Anwendung von abstract-Klassen sind top oder alias. Die Mehrheit aller Klassen sind von top abgeleitet und erben somit dessen einziges Attribut objectClass zur Speicherung der Objektklassenzugehörigkeit(en) eines Eintrages. Aliase sind lediglich Verweise auf andere Objekte und werden nicht näher behandelt.