025-オブジェクト指向の基本-メソッドのオーバーロード【新人エンジニアが最初に覚えたい100のJava文法】
ユーチューブ動画
メソッドのオーバーロードについて解説します。
ソースコード
public class BasicClass {
public static void main(String[] args) {
Product product1 = new Product();
System.out.println(product1.getPrice());
Product product2 = new Product();
System.out.println(product2.getPrice(10));
}
}
class Product {
private int price = 10000;
public int getPrice(){
return this.price;
}
public int getPrice(double rate) {
return (int) (this.price * (100 - rate) / 100);
}
}解説
メソッドのオーバーロードについて解説します。
メソッドのオーバーロードを使うと、引数の数や種類で条件分岐したいときにコードを削減することができます。
みなさんが何回も使っていたprintlnメソッドはオーバーロードの典型的なパターンです。
引数に対して、整数でも、小数でも、文字列でも引数に入れることができる便利な定義になっています。
サンプルコードを確認しましょう。
オーバーロードの条件は、メソッドの名前を同じにすること、引数の数や種類を変えることです。
サンプルコードでは、
getPriceメソッドが2つ宣言されています。
引数がないメソッドと引数があるメソッドです。
メソッドの呼び出し側を確認しましょう。
Productクラスのインスタンスが2つ作成されています。
引数がないメソッドと引数に10を入れたメソッドが呼び出されています。
同じメソッド名でも引数の違いを自動的に認識して、呼び出すメソッド。
これがオーバーロードです。
引数がない場合には、メンバ変数をそのまま表示します。
引数がある場合には、引数を割引率として、割り引いた値段を表示しています。
オーバーロードのポイントは、メソッドの名前を同じにして、引数の数や種類を変えることです。(引数の数・型・順番の少なくともひとつが異なる必要がある)
間違えやすいのでしっかりと整理しましょう。
以上、メソッドのオーバーロードについて解説しました。
このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
山崎講師2025年11月1日Pythonの「if文のネスト」深くなっていませんか? 読みやすいコードの書き方を徹底解説
山崎講師2025年11月1日Pythonの落とし穴? {} は空の辞書?それとも空のセット?
山崎講師2025年11月1日ーPythonの「:」(コロン)徹底解説!新人エンジニアが見落としがちな4つの使い方
山崎講師2025年11月1日P値とは?新人エンジニア必見!「白いカラス」で学ぶ仮説検定の第一歩