広告 プログラム

オーバーロード(overload)とは

オーバーロード(overload)

オーバーロード(英:overload)とは多重定義と略される言葉で、同じクラス内に引数の数や型が異なる同じ名前のメソッドを2つ以上定義することです。また、言語によっては演算子のオーバーロードが可能です。

同じ名前のメソッドを作ることに何の意味があるんですか?
それでは、オーバーロードを使用しない場合と使用した場合の違いを説明していきます。

オーバーロードを使用しない場合

例えば、同じような機能のメソッドで引数にint型とdouble型があるとします。

オーバーロードを使わない場合は、それぞれ違うメソッド名で定義する必要があり、メソッドを使う側は引数の型によって利用するメソッドを選択します。

(※以下はJavaを例としている)

オーバーロードを使わない場合

オーバーロードを使用する場合

オーバーロードを使う場合、同じような機能で引数にint型とdouble型がある場合でもメソッド名は同じです。

そのため、メソッドを使う側は引数の型を気にしないで利用できます。

(※以下はJavaを例としている)

オーバーロードを使う場合

このようにオーバーロードを使うことで、メソッドを使う人が "引数の型を意識せずに利用できる"というメリットがあります。また、オーバーロードを使うことで同じような機能に対して、同じ名前のメソッド名をつけることができます。

helpful