-
■メソッドのオーバーロードとは?
メソッドのオーバーロードとは、同じクラスの中に同じ名前のメソッドを2つ以上定義することです。 これをメソッドのオーバーロード(多重定義)と呼んでいます。 ただし、引数の個数や型が全く同じメソッドを多重定義することはできません。 メソッドをオーバーロードするには、メソッド引数の型、個数、順番が異なるようにする必要があります。
メソッドをオーバーロードすることで、引数の個数が異なるだけのメソッドを何個も作成する手間が省けます。 引数の個数が異なっても同じ処理をするなら、メソッド名は統一されている方が、分かりやすく覚えやすいでしょう。 つまり、可読性や保守性が高い”スマート”なプログラムを作成するのに役立つわけです。
メソッドの場合も、コンストラクタの場合も、オーバーロードの記述方法は同じです。 コンストラクタのオーバーロードについては、リンク先をご覧ください。
■メソッドをオーバーロードする
では早速、複数のメソッドをオーバーロードしてみましょう。 以下のプログラムを、コンパイルして実行してみてください。
サンプルソースコード class sample { public static void main(String args[]) { int aaa = 1; String bbb = "3"; method(aaa); method(aaa, aaa); method(bbb); System.out.println( method(aaa, bbb) ); } static void method(int num){ System.out.println(num); } static void method(int num1, int num2){ System.out.println(num1 + num2); } static void method(String str){ System.out.println(str); } static int method(int num, String str){ int kekka = num + Integer.parseInt(str); return kekka; } }
実行結果として、上から「1、2、3、4」が出力されます。 上のサンプルプログラムは「method」という名前のメソッドが4つあります。 それぞれ、引数の個数や型が異なっていますが、適切に処理されていることが確認できます。
例の様な簡単なクラスが単一の場合、オーバーロードはあまり必要ないかもしれません。 しかし、複雑なクラスが複数ある場合は、メソッドが多数あり、使用する状況も多岐にわたります。 そのようなとき、同じ処理をするメソッド名が統一されており、使用する状況によって引数を変えるだけで、同じ動作をすることはとても便利です。 少なくとも、たくさんのメソッド名を覚えなくて済みますし、引数(処理させたい値)によって、異なるメソッド名を考えて追加する必要もなくなります。 例のように、1つのメソッドが状況に応じて処理することを、多様性(ポリモーフィズム)といいます。
次は、メソッドのローカル変数について説明します。
» 次ページ「ローカル変数の基本と利用方法」
-
トップページ » Javaメソッド入門 » メソッドのオーバーロード
-
-
- わかりやすいJava入門編
- 発売:2009/10
- 定価:2,940円
- 著者:川場 隆
- 出版:秀和システム
内容:自分のペースで本を読み、通過テストで自分の学習度を確認、着実にステップアップさせていきます。プログラミングの基本の基本から解説しているので、はじめてのプログラミング学習に最適な一冊です。 -
- 解きながら学ぶJava 入門編
- 発売:2008/05/24
- 定価:2,520円
- 著者:柴田 望洋
- 出版:ソフトバンククリエイティブ
内容:『明解Java入門編』の全演習問題を含む問題集形式の入門書です。Javaのサンプルプログラム集としても活用できます。初心者はもちろん、レベルアップを目指す中上級者まで活用できる良書です。 -
- 独習Java 第4版
- 発売:2008/05/29
- 定価:3,360円
- 著者:ジョゼフ・オニール
- 出版:翔泳社
内容:本書のすばらしいところは、サンプルプログラムの的確さにあります。サンプルプログラムのコードに変更を加えれば、独自のプログラムを作成することができます。プログラミングをはじめたばかりの方にとっても、また、ほかの言語からJavaに乗り換えようとしているプログラマにとっても、入門書として最適です。 -
- 明解Java 入門編
- 発売:2007/08/08
- 定価:2,730円
- 著者:柴田 望洋
- 出版:ソフトバンククリエイティブ
内容:丁寧な解説と適切なサンプルプログラム248編と、豊富で分かりやすい図表278点で、Javaの基礎から学習できます。Javaプログラミング初心者におすすめの一冊です。
-