Methoden überladen

In Java können in einer Klasse mehrere Methoden mit dem gleichen Namen aber unterschiedlichen Parametern definiert werden. Das heißt, trotz gleichem Methodennamen ist die Signatur unterschiedlich. Der Unterscheid bei diesen Methoden liegt also in der Wahl der Argumente. Dieses Vorgehen bezeichnet man als Überladen einer Methode.

Beispiel

So könnte man sich beispielsweise eine Methode „summe“ vorstellen, welche die Summe von übergebenen Werten bildet und auf der Konsole ausgibt. Es könnten zwei Methoden „summe“ definiert werden, eine nimmt zwei und die andere drei Parameter zum Summieren entgegen.

public class meineErstesProgramm {

    public static void main(String[] args) {

        // Methoden aufrufen
        summe(2,3);
        summe(2,3,4);

    }

    // Summieren von zwei Summanden
    public static void summe(int x, int y) {
        System.out.println(x+y);
    }

    // Summieren von drei Summanden
    public static void summe(int x, int y, int z) {
        System.out.println(x+y+z);
    }

}
5
9

Java entscheidet also anhand der übergebenen Parameter (genauer anhand des Datentyps und der Anzahl der Parameter), welche der vorhandenen Methoden zur Laufzeit ausgeführt werden soll.

Anwendung und Abgrenzung

Die Vorteile von überladenen Methoden werden wir mitunter bei Algorithmen erkennen. Der Anwender eines Algorithmus ruft eine Methode „x“ auf, welche wiederum eine Hilfsmethode „x“, jedoch mit ergänzten Parametern, aufruft  und das Ergebnis an die vom Benutzer aufgerufene Methode „x“ weitergibt. Auch in Vererbungsketten ist das Überladen eine gängige Praxis um Funktionen zu erweitern. Dies werden wir in den fortgeschrittenen Beiträgen noch weiter vertiefen.

Jedoch darf das Überladen einer Methode nicht mit dem Überschreiben einer Methode verwechselt werden! Diesen Unterschied werden wir in weiterführenden Beiträgen noch behandeln.

Schreibe einen Kommentar