Was sind Objekte in Java?

2 Antworten

Eine Klasse ist zunächst einmal eine Strukturierung von Daten und Methoden/Funktionen. Idee ist, dass die Funktionen, die auf die Daten angewandt werden, logisch beieinander liegen.

Die Strukturierung von Daten besteht aus einer Sammlung von Variablen und Konstanten. Das können Primitive sein (grundlegende Datentypen, die sich nicht weiter zerlegen lassen, wie etwa int, char...) oder wiederum Klassen (also Strukturierte Daten).

Ein Objekt ist im Prinzip der konkrete Speicherbereich solcher Daten. Aber es kann (zusammen mit dem Interpreter) mehr: Es organisiert auch die Verknüpfung zu den möglichen Funktionen (der Klasse). Wenn du die Funktion eines Objektes aufrufst, kann diese Veränderungen auf den jeweiligen Speicherbereich des Objektes vornehmen.

Das mag jetzt vielleicht verwirrend klingen, aber in anderen (älteren) Sprachen wird strikt zwischen Datenbereich und Funktionen getrennt. Auch da gibt es die Möglichkeit, eigene Datentypen zu deklarieren, die wiederum mehrere andere Datentypen enthalten können. Möchtest du eine Funktion aufrufen, musst du aber immer den Datenbereich als Parameter übergeben.

Klassen sind in Java sozusagen Schablonen für Objekte, die tatsächlich instanziiert werden können. Jede Klasse und damit auch Objekte die später aus ihr erzeugt werden besitzen Attribute (kann man mit Variablen vergleichen) und Funktionen (Dinge, die man mit den erzeugten Objekten tun kann).