スポンサーリンク

【Java】オーバーライド(Override)とは?

Java
スポンサーリンク

今回の記事はJavaで使用される「オーバーライド(Override)」とは何かという記事です。Java初心者にとってサンプルコードなどで「@Override」が出てきても意味を知らずに使用している方は多いと思います。私もそうでした。初学者でも分かりやすいように記載していくので是非参考にしてみてください。

スポンサーリンク

オーバーライド(Override)とは?

Override(オーバーライド)とはクラスを継承する時に、スーパークラスのメソッドをサブクラスにおいて同じメソッド名で定義し直す際に記述します。

ルールとしてはメソッド名、メソッドの引数の順番は同じである必要があります。

また「super」句を使うと、スーパークラスで定義したメソッドを簡易的に使えます。

では今回は実際にスーパークラス、サブクラスとそれを呼び出すMainクラスを使って上記の動きを実装しつつ解説していきます。

オーバーライド(Override)の使い方

下記1ファイルに全てクラスを記載しています。通常はクラスごとにファイルを分ける方が望ましいです。

package org.example;

public class Main {
        // 親クラスからそのままメソッドを呼ぶ
        SuperClass superClass = new SuperClass();
        superClass.printCalcuration();

        // 親クラスを継承したサブクラスのインスタンスを作成し、オーバーライドしたメソッドを呼ぶ
        SubClass subClass = new SubClass();
        subClass.printCalcuration();
    }
}

// スーパークラス
class SuperClass {
    protected int i1 = 3;
    protected int i2 = 5;

    public void printCalcuration(){
        System.out.println("i1 + i2 = " + (i1 + i2));
    }
}

// サブクラス
class SubClass extends SuperClass{
    // 処理を書き換える
    @Override
    public void printCalcuration(){
        // super句を使ってみる
        super.printCalcuration();
        
        // 掛け算を行なってみる
        System.out.println("i1 * i2 = " + (i1 * i2));
    }
}

出力としては下記のような出力になります。

i1 + i2 = 8
i1 * i2 = 15
i1 + i2 = 8
  • スーパークラスで普通にインスタンスを作成し、スーパークラスのメソッドを使った時の出力
  • スーパークラスを継承したサブクラスでsuper句を使ってスーパークラスのメソッドを使った出力
  • オーバライドさせた処理によってサブクラスから出力させた出力

では今回の記事は以上です。他にも多数のJava関連の記事を記載しています。是非興味ある方はサイト内見て行ってください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Java
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました