オーバーロードとは、同じクラス内で同じ名前のメソッド(関数)を、引数の数や型が異なるように複数定義する機能です。これにより、機能は同じだが引数の種類が違う場合(例:整数同士の足し算と小数同士の足し算)に、呼び出し側は引数に応じて異なるメソッド名を覚える必要がなくなり、コードの可読性や使いやすさが向上します。
オーバーロードのポイント
- 同一クラス内で定義される。
- メソッド名は同じ。
- 引数の型、数、順番のいずれかが異なる。
- 戻り値の型は異なっていても構いませんが、引数が同じなら戻り値だけでは区別できません。
具体例
例えば、「足し算」という機能で、以下のように3つのメソッドを定義できます。
add(int a, int b):整数同士の足し算add(double a, double b):小数同士の足し算add(String a, String b):文字列の結合
これらを呼び出す際は、calc.add(10, 20); や calc.add("Hello", "World"); のように、渡す引数の種類(型)に合わせて同じ add メソッドを呼び出すだけで、適切な処理が実行されます。
オーバーライドとの違い
- オーバーロード: 同じクラス内で引数が違う同じ名前のメソッドを複数定義(多重定義)。
- オーバーライド: 親クラスのメソッドを子クラスで再定義(上書き)する。引数リストは親クラスと同じ。
オーバーロードは、同じ名前で異なる引数を受け付ける「多重定義」であり、プログラムをより直感的で柔軟にするための重要なオブジェクト指向のテクニックです。

コメント