●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

親クラスのメソッドを書き換える!「オーバーライド(Override)」とは?

Javaのオブジェクト指向には、継承という仕組みがあります。
その中で、親クラスのメソッドを子クラスで上書きして振る舞いを変えることを「オーバーライド(Override)」といいます。

オーバーライドとは?

オーバーライドとは、親クラスにあるメソッドを子クラスで再定義して上書きすることです。
同じメソッド名・引数・戻り値の型を使いながら、中身の処理だけを変更できます。

基本構文

class 親クラス {
    public void greet() {
        System.out.println("こんにちは!");
    }
}

class 子クラス extends 親クラス {
    @Override
    public void greet() {
        System.out.println("Hello!");
    }
}
    

使用例

public class Main {
    public static void main(String[] args) {
        親クラス obj1 = new 親クラス();
        obj1.greet();  // → こんにちは!

        子クラス obj2 = new 子クラス();
        obj2.greet();  // → Hello!
    }
}
    

@Overrideアノテーション

Javaでは、オーバーライド時に @Override をメソッドの上に書くのが一般的です。
これは書き間違いの防止可読性の向上につながります。

オーバーロードとの違い

項目 オーバーライド オーバーロード
意味 親クラスのメソッドを上書き 同じクラス内で引数違いのメソッドを複数定義
メソッド名 同じ 同じ
引数 同じ 異なる
戻り値 基本的に同じ 同じ or 異なる

superキーワードと併用

親クラスの処理を残しつつ、子クラスで追加処理をすることも可能です。

@Override
public void greet() {
    super.greet();  // 親のメソッドを呼び出す
    System.out.println("Hi there!");
}
    

まとめ

オーバーライド(Override)は、親クラスのメソッドを子クラスで上書きする仕組みです。
同じ名前・引数・戻り値で定義し直すことで、継承の柔軟性を活かした設計が可能になります。
@Override をつけて、明示的にオーバーライドしていることを示す習慣を身につけましょう!