Het concept van "objectoriëntatie" (OO) dient om programma's beter te structureren, voor de overzichtelijkheid, de onderhoudbaarheid en de herbruikbaarheid. Daartoe worden grote delen van het programma in modulen opgedeeld die men "Klasse" noemt en waarvan men meerdere Objecten (instances, exemplaren) kan creëren. Een Klasse is een soort super Type, een blauwdruk, die niet alleen data kan bevatten, maat ook alle methoden (functies) om die interne data te importeren, te manipuleren en te exporteren. Zo is een hiervan afgeleid "Object" dus ook een super Variabele die alle nuttige functionaliteit in zich draagt, zonder dat de implementatie zichtbaar is.
Programma's worden overzichtelijk doordat alle details in de klassen verborgen is, onderhoudbaar doordat aanpassingen alleen in een klasse óf in het programma zelf plaats vinden en herbruikbaar omdat de klassen natuurlijk ook in andere programma's kunnen worden gebruikt.