La conception orientée-objet cherche à représenter un système
logiciel comme une collection d'objets, chaque objet ayant un
état interne, une collection d'attributs qui définissent cet
état, et une interface bien définie d'opérations sur ces
attributs qui cache au maximum des données relatives à
l'objet. Un objet est normalement un membre d'une classe d'objets
qui définitles attributs et opérations de ses membres. C'est une
stratégie de conception qui s'oppose naturellement à la
conception dite fonctionnelle, où le système logiciel est vu
comme une fonction principale, opérant sur un état global et
définie par décomposition en sous-fonctions plus détaillées.