Objektorientierte Programmierung
Die reale Welt besteht aus Objekten mit individuellen Eigenschaften und individuellem Verhalten. Um diese Komplexität handhabbar zu machen, werden Objekte kategorisiert und zu sinnvollen Einheiten zusammengefasst. Die objektorientierte Programmierung überträgt dieses Prinzip auf Software:
- Eine Kategorie ähnlicher Objekte bezeichnet man als Klasse
- Konkrete Ausprägungen einer Klasse nennt man Objekte (auch Instanzen)
- Die Eigenschaften von Objekten werden als Attribute, ihr Verhalten als Methoden bezeichnet
Datenkapselung
Ein wesentlicher Grundsatz der Objektorientierung ist, dass Attribute durch Methoden gekapselt werden. Datenkapselung bedeutet, dass auf Attribute nicht direkt zugegriffen werden kann, sondern nur indirekt über Methoden. Typische Methoden zum Lesen und Schreiben von Attributen sind Getter bzw. Setter (auch Accessors und Mutators genannt).
Abstraktion
Abstraktion bedeutet, komplexe Systeme in kleinere, überschaubare Einheiten zu zerlegen — indem der Fokus auf die wesentlichen Eigenschaften und das wesentliche Verhalten gelegt und unwichtige Details ausgeblendet werden. Das bringt Vorteile wie bessere Wiederverwendbarkeit, Wartbarkeit und Lesbarkeit. In Java wird Abstraktion durch den Einsatz von (abstrakten) Klassen und Schnittstellen (Interfaces) realisiert.