【初心者向け】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

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

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リナックスアカデミーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リナックスアカデミーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する