Von überladen (overload) von Methoden sprechen wir dann, wenn zwei Methoden in derselben Klasse oder Vererbungshierarchie denselben Namen aber eine andere Signatur (= Name + Parameterliste) aufweisen.
Falls zwei Methoden in derselben Vererbungshierarchie (aber nicht in derselben Klasse) dieselbe Signatur aufweisen, so sprechen wir vom Überscrheiben (override).
Die Signatur einer Methode ist
Die folgenden Regeln müssen beim Überschreiben eingehalten werden:
In Prüfungsfragen wird oft gefragt, ob eine überladene (overloaded) Methode den selben Returnwert oder die selben Exceptions aufweisen muss. Das ist ein guter Witz! Überladene Methoden haben eine andere Signatur und sind für den Compiler wie zwei komplett verschiedene Methoden zu betrachten. Natürlich dürfen sie andere Returnwerte und Exceptions aufweisen; selbst in Subklassen!