# OOP-Grundlagen: Klasse, Objekt, Prinzipien

> Objektorientierte Programmierung (OOP) modelliert ein Programm als Zusammenspiel von Objekten – etwa ein Auto oder ein Kunde. Eine Klasse ist der Bauplan, ein Objekt ein konkretes Exemplar davon. Objekte bündeln zusammengehörige Daten (Attribute) und Funktionen (Methoden). Die drei Grundprinzipien der OOP sind Kapselung, Vererbung und Polymorphie.

**Autor:** Mr. Benjamin · **Beruf:** IT-Grundlagen
**Veröffentlicht:** 2026-07-16 · **Aktualisiert:** 2026-07-16
**Quelle:** https://yellowbluetech.de/blog/oop-grundlagen

---

Ab einer gewissen Größe wird Programmcode unübersichtlich – Daten hier, Funktionen dort, alles hängt mit allem zusammen. Die objektorientierte Programmierung bringt Ordnung hinein, indem sie die Welt so nachbildet, wie wir sie ohnehin denken: als Dinge mit Eigenschaften und Fähigkeiten.

## Was ist objektorientierte Programmierung?

Objektorientierte Programmierung (OOP) ist eine Art, Programme zu strukturieren, indem man sie aus **Objekten** zusammensetzt. Ein Objekt steht für ein Ding aus der realen oder gedachten Welt – ein Auto, einen Kunden, ein Konto – und bündelt alles, was zu diesem Ding gehört.

> **Merksatz**
>
> Ein Objekt vereint **Daten und Verhalten** an einem Ort: Was es *ist* (Eigenschaften) und was es *kann* (Fähigkeiten). Statt Daten und Funktionen zu trennen, gehören sie zusammen – so wie in der Wirklichkeit.

## Klasse und Objekt – der Unterschied

Der wichtigste Begriffsunterschied der OOP:

- Eine **Klasse** ist der **Bauplan**. Sie beschreibt, welche Eigenschaften und Fähigkeiten ein Ding dieser Art hat – aber sie ist selbst noch nichts Konkretes.
- Ein **Objekt** ist ein **konkretes Exemplar** dieser Klasse, nach dem Bauplan erzeugt.

> **Merksatz**
>
> Die Klasse ist der **Keksausstecher**, das Objekt der **fertige Keks**. Mit einem Ausstecher (Klasse) lassen sich beliebig viele Kekse (Objekte) formen – jeder für sich, aber alle nach demselben Muster.

Ein Objekt hat **Attribute** (seine Daten, letztlich [Variablen](/blog/variablen-und-datentypen)) und **Methoden** (seine Funktionen). In Pseudocode:

```text
Klasse Auto:
    Attribut  farbe
    Attribut  tempo

    Methode   beschleunigen():
        tempo = tempo + 10

// Ein konkretes Objekt nach diesem Bauplan:
meinAuto = neues Auto()
meinAuto.farbe = "rot"
meinAuto.beschleunigen()   // tempo steigt um 10
```

## Die drei Prinzipien der OOP

Drei Konzepte machen den Kern der objektorientierten Programmierung aus:

| Prinzip | Bedeutung |
| --- | --- |
| **Kapselung** | Daten sind im Objekt geschützt; Zugriff nur über festgelegte Methoden |
| **Vererbung** | eine Klasse übernimmt Eigenschaften einer anderen und erweitert sie |
| **Polymorphie** | dieselbe Methode verhält sich je nach Objekt unterschiedlich |

> **Prüfungstipp**
>
> Merke dir zu jedem Prinzip ein Bild. **Kapselung**: Das Objekt schützt seine Daten wie ein Automat, an dem man nur die vorgesehenen Knöpfe bedient. **[Vererbung](/blog/vererbung-polymorphie)**: Ein *Elektroauto* erbt alles vom *Auto* und ergänzt Eigenes. **Polymorphie**: Die Methode `fahren()` gibt es bei *Auto* und *Fahrrad* – sie heißt gleich, funktioniert aber unterschiedlich. Diese drei kommen in Prüfungen fast immer vor.

## Warum ist das nützlich?

> **Hinweis**
>
> Der große Gewinn ist **Wiederverwendbarkeit und Ordnung**: Was einmal als Klasse beschrieben ist, lässt sich beliebig oft als Objekt nutzen und durch Vererbung erweitern, ohne alles neu zu schreiben. Große Programme bleiben dadurch überschaubar, weil jeder Baustein klar abgegrenzt ist und für sich betrachtet werden kann.

## Selbstkontrolle

**Frage:** Wie verhalten sich Klasse und Objekt zueinander?

- [ ] Sie sind dasselbe, nur unterschiedlich benannt.
- [x] Die Klasse ist der Bauplan, das Objekt ein konkretes Exemplar.
- [ ] Das Objekt ist der Bauplan für die Klasse.
- [ ] Eine Klasse kann nur ein einziges Objekt haben.

**Erklärung:** Die Klasse ist der Bauplan, das Objekt ein konkretes Exemplar davon. Aus einer Klasse lassen sich beliebig viele Objekte erzeugen, die alle demselben Muster folgen, aber eigene Werte haben. Das Bild vom Keksausstecher und den einzelnen Keksen trifft es genau.

## Häufige Fragen

### Was ist der Unterschied zwischen Attribut und Methode?

Ein Attribut ist eine Eigenschaft eines Objekts, also ein gespeicherter Wert – etwa die Farbe eines Autos. Eine Methode ist eine Fähigkeit, also eine Funktion, die das Objekt ausführen kann – etwa beschleunigen. Attribute sagen, was ein Objekt ist, Methoden, was es tun kann.

### Was bedeutet Kapselung genau?

Kapselung heißt, dass ein Objekt seine Daten nach außen abschirmt und den Zugriff nur über festgelegte Methoden erlaubt. So kann kein anderer Programmteil die Daten unkontrolliert verändern. Das schützt vor Fehlern und macht klar, wie ein Objekt benutzt werden soll.

### Wozu dient Vererbung?

Vererbung erlaubt es, eine neue Klasse auf einer bestehenden aufzubauen. Die neue Klasse übernimmt deren Attribute und Methoden und ergänzt oder verändert sie. So vermeidet man Wiederholung: Gemeinsames steht einmal in der Oberklasse, Besonderheiten in den abgeleiteten Klassen.

### Ist jede Programmiersprache objektorientiert?

Nein. Es gibt verschiedene Programmierparadigmen, etwa die prozedurale oder die funktionale Programmierung. Viele verbreitete Sprachen wie Java, Python oder C++ unterstützen die objektorientierte Programmierung, oft neben anderen Ansätzen. Welches Paradigma sinnvoll ist, hängt von der Aufgabe ab.

**Weiterlesen:** [Fehlerbehandlung mit Exceptions](/blog/fehlerbehandlung-exceptions) · [Datenstrukturen: Array, Liste, Stack und Queue](/blog/datenstrukturen-grundlagen) · [Softwaretests: von Unit-Test bis Abnahme](/blog/softwaretests-grundlagen)

## Das Wichtigste in Kürze

- **OOP** baut Programme aus **Objekten**, die Daten und Verhalten bündeln.
- Eine **Klasse** ist der Bauplan, ein **Objekt** ein konkretes Exemplar davon.
- Objekte haben **Attribute** (Eigenschaften) und **Methoden** (Fähigkeiten).
- Die drei Prinzipien sind **Kapselung, Vererbung und Polymorphie**.
