Ein Programmierstil, der Klassen zur Strukturierung verwendet. Klassen fassen dabei Daten und Verhalten (Methoden) zusammen und bieten eine Kapselung. D.h. nicht alle Daten und Methoden einer Klasse sind von außen zugänglich.