【Java開発】第15回 オーバーロード

Java入門講座

はじめに

皆さん。こんにちは!

DreamHanksの254cmです。

今回はオーバーロードについて説明していきます。

Java記事のまとめはこちらです。

前回の記事は【Java開発】第14回 アクセス制御子です。

オーバーロードとは?

Javaは一つのメソッドで多様な状況を対応するために、オーバーロードという機能を提供します。

オーバーロードは名前は同じですが、引数が異なるメソッドを作成する技術を意味します。

オーバーロードの注意点

メソッドをオーバーロードすることには三つの注意点が存在します。

①メソッドの名前が一致である必要があります。

②メソッドの戻り値のデータ型だけ異なるメソッドはオーバーロードに該当されません。

③引数の本数または引数のデータ型が異なる必要があります。

サンプル1

 

実行結果

上記のdisplayItemメソッドはオーバーロードの条件を満足しているので、

問題なく動作することができます。

サンプル2

上記のサンプルをると、オーバーロードのほかの条件は満足しましたが、

メソッド名が異なることを確認できます。

メソッド名が異なると別のメソッドだと認識されるので、上記の画像のようにエラーが表示されます。

サンプル3

上記のサンプルを見ると、引数とメソッド名は同じですが、

戻り値だけが異なります。戻り値が異なるだけでメソッドの見分けができません。


上記の画像のようにコンパイルエラーが表示されます。

サンプル4

上記のサンプルを見ると、引数の名前だけが異る二つのメソッドがあります。

上記の場合もサンプル3と同じようにメソッドが引数の名前が異なることだけでは

呼び出されるときに見分けができません。

なので、上記のメソッドはオーバーロードに該当されません。

つまり、オーバーロードは対象のメソッドが呼び出されるところで、

引数で見分けができる場合しかオーバーロードに該当されません。

コンストラクタのオーバーロード

コンストラクタもメソッドの一つなので、オーバーロードすることができます。

サンプル

 

実行結果

 

終わりに

今回の記事は以上になります。

次回はJavaのオーバーライドを学びましょう。

ご覧いただきありがとうございます。

 

Java入門講座
スポンサーリンク
dreamhanksをフォローする
スポンサーリンク
DreamHanks Blog

コメント