●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

同じ名前で違う使い方ができる!「オーバーロード(Overload)」とは?

Javaでは、同じ名前のメソッド引数の数や型を変えて複数定義することができます。
このような機能を オーバーロード(Overload) と呼びます。
ひとつの機能に柔軟な使い方を持たせたいときに便利です。

オーバーロードとは?

オーバーロードは、同じメソッド名で引数の型や数を変えて複数定義することです。
Javaではメソッド名と引数のリストで識別するため、戻り値の型が違うだけではオーバーロードにはなりません。

基本構文(例)

public class Calculator {
    // 引数1つ
    public int add(int a) {
        return a + 10;
    }

    // 引数2つ
    public int add(int a, int b) {
        return a + b;
    }

    // 引数の型が異なる
    public double add(double a, double b) {
        return a + b;
    }
}
    

使い方

Calculator calc = new Calculator();
System.out.println(calc.add(5));           // → 15(引数1つ)
System.out.println(calc.add(5, 7));        // → 12(引数2つ)
System.out.println(calc.add(2.5, 3.0));    // → 5.5(引数型がdouble)
    

オーバーロードの使いどころ

  • メソッド名を統一したまま異なる使い方を実現できる
  • 同じ処理のバリエーションが増やしやすい
  • コンストラクタでもよく使われる(引数の違いで初期化方法を変える)

注意点

  • 戻り値の型が違うだけではオーバーロードにならない
  • 引数の型・順番・数が異なる必要がある
  • 自動型変換(int → double など)でどのメソッドを呼ぶか曖昧にならないよう注意

NG例(コンパイルエラー)

public int calc(int a) { return a; }
// ↓これはエラー(戻り値だけ違う)
public double calc(int a) { return a * 1.0; }
    

まとめ

オーバーロード(Overload)は、同じ名前のメソッドを引数の違いで使い分ける機能です。
コードの可読性と柔軟性が高まり、メソッド名の統一が可能になります。
Javaのクラス設計では非常によく使われるテクニックなので、ぜひ活用してみましょう!