The ObjectClass represents the list of mandatory and optional AttributeTypes
Here is the description as found in RFC 4512 :
ObjectClassDescription = LPAREN WSP
numericoid ; object identifier
[ SP "NAME" SP qdescrs ] ; short names (descriptors)
[ SP "DESC" SP qdstring ] ; description
[ SP "OBSOLETE" ] ; not active
[ SP "SUP" SP oids ] ; superior object classes
[ SP kind ] ; kind of class
[ SP "MUST" SP oids ] ; attribute types
[ SP "MAY" SP oids ] ; attribute types
extensions WSP RPAREN
kind = "ABSTRACT" / "STRUCTURAL" / "AUXILIARY"
Each ObjectClass as a type (ABSTRACT, STRUCTURAL or AUXILIARY) and may inherit from another ObjectClass
The important part of the ObjectClass is the AttributeType definition : not only does it list all of the AttributeTypes defined in the list itself, but it also contains the inherited attribute types. Note that you may have an optional AttributeType defined in a parent, which is made mandatory.
The available methods are :