【初心者向け】Javaメソッドのオーバーロード(overload)の使い方

javaのメソッドオーバーロード
  • このエントリーをはてなブックマークに追加
  • Pocket

メソッドで引数を指定するとき、引数のありなしを自由にしたり、数字やテキストなどを自由に入力したいという場合がある。

こんなときに使えるのがJavaメソッドのオーバーロードだ。

このページではオーバロードの使い方をお伝えしよう。

Javaメソッドのオーバーロード

オーバーロードとは?

Javaのメソッドのオーバーロードとは、メソッドをひとつの名前でいくつも定義することだ。

例えば、hello('田中')のように名前を入力すると、「こんにちは、○○さん」と表示されるhelloメソッドを作ったとすると、hello()とするとエラーが出る。引数がないからだ。

オーバーロードを使うとこれができるようになる。ちょっと堅苦しい言葉で言えば、多重定義だ。

引数の型の違い

名前が同じでも、異なるメソッドをどうやっていくつも定義できるのか?

その鍵は、引数だ。メソッドの引数リストの型の並びが違えば名前が同じでも、Javaは異なるメソッドとしてくれる。

これを使えば、同じ名前だけど、引数が違ければ、呼び出すメソッドを変えることができる。

また、引数の型が違うパターンではなく、引数の数が違うパターンでもオーバロードは使える。色々と便利だ。

使う理由

使う人が、名前の違うメソッドをいくつも覚える必要がないというのがオーバロードの便利なところだ。どういうことか?

例えば足し算をするメソッドadd()があったとする。引数が2個や3個や4個のときそれぞれでメソッドを、add2()、add3()、add4()と名前をつけていくと、作る人はいいだろうが、使う人はいちいち覚えるのが大変だ。

しかし、add()だけだったら使う人が覚えるメソッドはひとつで済む。「足し算をするならadd()だ!」と知っておけばいい。

自動的に引数にあったメソッドが呼び出されるので、間違いも少なくなる。

引数の型が異なるメソッドのサンプルプログラム

では、簡単なサンプルプログラムでオーバロードの使い方を確かめてみよう。

このサンプルプログラムは、果物の名前や個数や重さをメソッドの引数の違いで表示する。同じメソッド名でも、オーバーロードによって名前を変える必要はない。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] メソッド:printDataを引数なしで呼び出す。
  • [2] メソッド:printDataをint型実引数で呼び出す。
  • [3] メソッド:printDataをdouble型実引数で呼び出す。
  • [4] 引数なしのメソッドの定義をする。
  • [5] 「名前:りんご」を表示する。
  • [6] int型の引数を持つメソッドの定義をする。
  • [7] 「数量:xx 個」を表示する。
  • [8] double型の引数を持つメソッドの定義をする。
  • [9] 「重さ:xx Kg」を表示する。

引数の並びが異なるメソッドのサンプルプログラム

このサンプルプログラムはメソッドの引数の型が同じだが、引数の型の並びが違う。この並びの違いをJavaは分かってくれる。引数の数は同じでも、型によってメソッドの処理を変えたいときは、このオーバーロードの仕組みを使うとよい。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] メソッド:printDataをint型、double型の実引数で呼び出す。
  • [2] メソッド:printDataをdouble型、int型の実引数で呼び出す。
  • [3] int型、double型の引数の並びを持つメソッドを定義する。
  • [4] 「数量:xx 個」を表示する。
  • [5] 「重さ:xx Kg」を表示する。
  • [6] double型、int型の引数の並びを持つメソッドを定義する。
  • [7] 「重さ:xx Kg」を表示する。
  • [8] 「数量:xx 個」を表示する。

まとめ

このページではJavaメソッドのオーバーロードについて使い方をお伝えした。

同じ名前で複数のメソッドが作れるというのを知っておくと、必ず役に立つときがくる。覚えておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*