Die Objektorientierte Programmierung (OOP) ist eine Philosophie des Programmierens, die auf gleichberechtigten, einheitlich erscheinenden Objekten aufgebaut ist. Ältere Programmiersprachen gehen meist von einem sequenziellenProgramm-Ablauf aus, bei dem die Daten einzelne Prozeduren nacheinander durchlaufen und bekannte Probleme oft mehrmals gelöst -das Rad immer wieder neu erfunden- werden musste. Bei der Objektorientierten Programmierung hingegen, sind viele Problemlösungen und Anwendungen in sogenannten Klassen vorgegeben, die in den Programm-Code eingebunden werden können. So gibt es etwa Klassen die mathematische Funktionen oder Suchalgorithmen implementieren, ohne das sich der Programmierer mit Differentialrechnungen oder Heuristiken herumschlagen muss. Ein weiterer Vorteil der OOP ist die übersichtliche Strukturierung der Programme und der ihr zugrunde liegenden Logik. Der Aufbau über Objekte ermöglicht eine realitätsnahe Programmbeschreibung der Dinge, deren Eigenschaften und Funktionen. So kann etwa eine Kerze als Objekt beschrieben werden, das angezündet werden kann und über die Zeit abbrennt oder eine Pflanze, die Wasser und Licht braucht um zu wachsen. Die einzelnen Objekte verwalten sich dabei eigenständig, kommunizieren untereinander und der Programmierer braucht sich 'nur' um die Rahmenbedingungen zu kümmern. So würde die Kerze selbst erlöschen können, wenn nicht genügend Pflanzen vorhanden sind um den Sauerstofbedarf zu decken.