EMZETT.
Login

OOP

Kurz: Objektorientierte Programmierung — das zentrale Paradigma von Java, bei dem Programme aus Objekten mit Zustand (Feldern) und Verhalten (Methoden) statt aus reinen Funktionsabläufen bestehen.

Genauer: Java erzwingt OOP strenger als viele andere Sprachen: jede Methode muss innerhalb einer Klasse stehen, es gibt keine “freien” Funktionen. Die vier Grundpfeiler sind Kapselung (Encapsulation), Vererbung (Inheritance), Polymorphie (Polymorphism) und Abstraktion (Abstraction).

Im Detail

// Kapselung: Zustand geschützt, kontrollierter Zugriff
class Konto {
    private double saldo;
    public double getSaldo() { return saldo; }
}
 
// Vererbung: Basisverhalten wiederverwenden
class Sparkonto extends Konto {
    double zinssatz;
}
 
// Polymorphie: dieselbe Methode, unterschiedliches Verhalten je nach tatsächlichem Typ
class Tier { void laut() { System.out.println("..."); } }
class Katze extends Tier { void laut() { System.out.println("Miau"); } }
Tier t = new Katze();
t.laut(); // "Miau" - die überschriebene Version läuft
 
// Abstraktion: Vertrag ohne konkrete Umsetzung
interface Zahlungsmittel { void bezahlen(double betrag); }

Diese vier Grundpfeiler wirken zusammen, nicht isoliert: Vererbung und Polymorphie ermöglichen z. B. eine Liste vom Typ List<Tier>, in der beliebige konkrete Tierarten stehen können, während jeder Aufruf von .laut() automatisch die richtige, überschriebene Version je nach tatsächlichem Objekt-Typ nutzt — der aufrufende Code muss die konkrete Unterklasse gar nicht kennen. Java erzwingt das OOP-Paradigma dabei strikter als etwa JavaScript oder Python: selbst eine simple main-Methode muss innerhalb einer Klasse stehen, es gibt keine wirklich freistehenden, klassenlosen Funktionen. Andere Programmiersprachen setzen teils ganz andere Paradigmen um (funktional: Haskell, prozedural: klassisches C) — das sprachunabhängige Grundkonzept “Objektorientierung” selbst ist in OOP (allgemein) beschrieben.

Siehe auch: Classes, Objects, Encapsulation, Inheritance, Polymorphism, Abstraction