Objektorientierte Programmierung ist ein Ansatz, bei dem ein Programm nicht als eine Liste von Anweisungen an die Maschine verstanden wird, sondern als ein System miteinander interagierender Objekte, welche über spezielle Schnittstellen Daten miteinander austauschen und auf bestimmte Eingaben bestimmte Reaktionen zeigen.