OOP (Objektorientierte Programmierung) ist ein Programmierparadigma, das auf dem Konzept von Objekten basiert, die Daten und Verhalten kombinieren. In der OOP werden Daten als Attribute oder Eigenschaften bezeichnet und das Verhalten als Methoden oder Funktionen. Objekte werden durch Klassen definiert, die als Baupläne oder Vorlagen fungieren und die Struktur und das Verhalten der Objekte festlegen. Die grundlegenden Konzepte der OOP sind Vererbung, Polymorphismus, Kapselung und Abstraktion. Vererbung ist dazu da, Eigenschaften und Methoden von einer Klasse auf eine andere zu übertragen, wodurch der Code wiederverwendet werden kann. Polymorphismus ermöglicht es Objekten, sich je nach Kontext unterschiedlich zu verhalten. Kapselung verbirgt die internen Details eines Objekts und ermöglicht es, den Zugriff auf die Daten und Methoden zu kontrollieren. Abstraktion kann komplexe Systeme durch Vereinfachung modellieren, indem nur die relevanten Details betrachtet werden.