マンガで分かる Java入門講座

第8章 メソッド
8-6. メソッドのオーバーロード

同じ名前のメソッドをいくつも作る、メソッドのオーバーロードについて説明します。

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

 Javaでは通常、同じクラス内に、同じ名前のメソッドを複数作ることはできません。しかし例外があり、引数が異なる場合は作れます。こういった手法で、同じ名前のメソッドを複数作ることを、メソッドの「オーバーロード」と呼びます。

ソースコード)メソッドのオーバーロード
public class MyClass {
    public static int myMethod() {
        return 0;
    }

    public static int myMethod(int i) {
        return 1;
    }

    public static int myMethod(int i, int j) {
        return 2;
    }

    public static int myMethod(String s) {
        return 3;
    }
}

● オーバーロードの使い所

 オーバーロードは、似たような処理を行いたいが、引数が何種類かのパターンに分かれるような時に使います。

 例えば、引数に数値を取りたい場合、int、doubleなど、引数がそれぞれの型のメソッドを用意しておきます。そうすれば、使う側は数値変数の種類を気にせず、そのメソッドを利用できます。

ソースコード)メソッドのオーバーロード2
public class MyClass {
    public static int plusOne(int i) {
        return i + 1;
    }

    public static double plusOne(double f) {
        return f + 1.0;
    }
}

ソースコード)メソッドのオーバーロード2 利用
int    res1 = MyClass.plusOne(1);
double res2 = MyClass.plusOne(1.0);

 また、引数の数を変えて、同じ名前のメソッドを作る時にも使います。

ソースコード)メソッドのオーバーロード3
public class MyClass {
    public static void print(String s) {
        System.out.println(s);
    }

    public static void print(String s1, String s2) {
        System.out.println(s1 + s2);
    }
}

ソースコード)メソッドのオーバーロード3 利用
MyClass.print("明日は");
MyClass.print("明日は", "晴れです");

この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/05/31  更新:2013/06/09  [Permalink]