オーバーロード

オーバーロードは名前は同じメソッドでも、引数や戻り値の肩が異なるメソッドのことを言います。
オーバーロードを実装するには以下点に気をつけて実装する必要があります。

オーバーロードができる場合

まず、大前提として、メソッド名が同じであることです。
  • メソッドの引数の数が異なること
  • メソッドの引数の型が異なること
上記を満たせていれば、同じメソッド名でも同じクラス内に定義することができます。

オーバーロードできない場合

  • メソッドの引数の名前だけが異なる
  • メソッドの戻り値の型だけが異なる

実際の例

eclipseで「System.out.println」を入力すると、引数が異なるが同じ名前のメソッドがいくつも候補に上がります。
これこそまさにオーバーロードの実例です。こうすることで、引数の型が違うだけで同じメソッドを定義することができます。

プログラム例

以下のように 同じメソッド名を呼び出していても、引数を変えることで、異なる処理を行うことができます。
hyadalcoメソッド
ヒャダルコ

hyadalcoメソッド:String enemy
スライムに対してヒャダルコ

hyadalcoメソッド:double rate
ヒャダルコ、ダメージ0.5倍
ダメージ:150.0