【Java】オーバーロードとは何か?

こんにちは、kazuです。
本日は、Javaのオーバーロードとは何かについて
解説していきます。

オーバーロードとは

まずはオーバーロードとは何かを説明していきたいと思います。
同じクラスの中に同じ名前のメソッドを複数定義すること言います。
これをメソッドのオーバーロード(overLoding : 多重定義)といいます。
ただしオーバーロードには条件があります。
その条件とは各メソッドの引数の型や引数の数が異なるようにしなければいけないというルールがあります。
つまりどういうことかと言いますと、以下のように引数の定義を変えなければいけないと言うことです。

Class Sample {
    // intでの引数
    public void Method(int num){
        ...
    }
    // doubleの引数
    public void Method(double num){
        ...
    }
    // intとintの引数
    public void Method(int num1, int num2){
        ...
    }
    // intとdoubleの引数
    public void Method(int num1, double num2){
        ...
    }
}

これがオーバーロードというものです。

オーバーロードのサンプルコードを見てみよう!

ではオーバーロードのサンプルコードをさっそく見てみましょう。
今回はcalculationというメソッドを2つ作成して1つはint型もう一つはdouble型で作成した単純なプログラムになります。

class Calculation {
  public static void main(String[] args){
  // int型のcalculationメソッドの実行
    int addition = calculation(8, 7);
    // additionを出力
    System.out.println(addition);
    // double型のcalculationメソッドの実行
    double multiplication = calculation(2.6, 3.4);
    // multiplicationを出力
    System.out.println(multiplication);
  }
  // int型のcalculationメソッド
  private static int calculation(int num1, int num2){
    return num1 + num2;
  }
  // double型のcalculationメソッド
  private static double calculation(double num1, double num2){
    return num1 * num2;
  }
}

実行結果

実行結果は以下になります。

// int型の結果
15
// double型の結果
8.84

最後に

いかがでしたでしょうか?
今回はオーバーロードでした。
オーバーロードは基礎的なことなのでしっかりと覚えておきましょう。
最後までご覧いただきありがとうございました。

関連記事

こんにちは、kazuです。 本日はカプセル化について 解説していきたいと思います。 カプセル化とは何か まずカプセル化とはなにかわかりますか? カプセル化とはクラスの中にフィールドとメソッドをひとまとめにして、 保護したいメンバ[…]

関連記事

こんにちは、kazuです。 今回はjavaの継承について 解説していきたいと思います。 継承とは何か? 最初に継承とは何かということについてです。 継承とは今あるクラスに追加の機能として新たなクラスを作成することをいいます。 少[…]