Cette notion se rapproche de celle d'une structure: c'est un agrégat de différents types représentant une entité réelle.
Cependant, à la différence des structures, les objets apportent le masquage de l'information: c'est "l'encapsulation". Toutes les informations contenues dans l'objet ne sont pas directement accessibles. C'est en quelque sorte l'idée de la boîte noire. Afin d'obtenir une information, il faut en faire la demande auprès de l'objet par l'appel à une fonction de l'interface objet / monde extérieur, c'est à dire une méthode. Cette conception offre une plus grande sécurité d'utilisation par rapport aux structures et permet des changements dans les objets sans que l'utilisateur - programmeur ou programme - soit lésé puisque l'interface reste la même.
La définition du contenu (données) et du comportement (fonctions ou méthodes) d'un objet se fait à l'aide du mot clé class, équivalent au mot clé struct pour les structures, suivi du nom de la classe d'objets et de ses propriétés.
Les propriétés sont soit déclarées public, auquel cas elles sont accessibles à tous, soit déclarées protected ou private, auquel cas elles ne sont accessibles qu'aux fonctions de la classe (masquage de l'information).
Une fois que la définition de la classe est terminée, des objets de ce nouveau type peuvent être créés.