【Java】オーバーライドとは

こんにちは、kazuです。
本日はオーバーライドについて
解説していきます。

オーバーライドとは

オーバーライドとは、クラスを継承した時に継承元になっているスーパークラス(親クラス)で定義されているメソッドを、継承したサブクラス(子クラス)で同じメソッド名で書き換えることができます。これをオーバーライドといいます。要するに、メソッドを上書きするということです。
オーバーライドする際には、メソッド名を同じにする必要があるのに加えて、メソッドの引数は同じ数、同じ順番にする必要があります。

実際にオーバーライドしてみる

// スーパークラス
class superClass {
  protected int intDate1 = 5;
  protected int intDate2 = 8;

  public void calc() {
    System.out.println("スーパクラスが実行されています");
    System.out.println("intDate1 + intDate2 = " + (intDate1 + intDate2));
  }
}

// サブクラス
class subClass extends superClass { 
  @Override
  public void calc() {
    System.out.println("サブクラスが実行されています");
    System.out.println("intDate1 * intDate2 = " + (intDate1 * intDate2));
  }
}

public class Main {
  public static void main(String[] args) {
  // スーパークラスが実行されます。
    superClass superclass = new superClass();
    superclass.calc();
    // オーバーライドしたサブクラスが実行されます。
    subClass subclass = new subClass();
    subclass.calc();
  }
}

実行結果 :

スーパークラスが実行されています
intDate1 + intDate2 = 13
サブクラスが実行されています
intDate1 * intDate2 = 40

解説

この例ではsubClassクラスがsuperClassクラスを継承しています。
スーパクラスであるsuperClassのcalcメソッドをサブクラスのsubClassクラスで
オーバーライドをしてスーパクラスの処理を上書きします。

最後に

いかがでしたでしょうか?
今回はオーバーライドを解説していきました。
オーバーライドはjavaでよく使用されますので、
しっかり理解するようにしましょう。
最後までご覧いただきありがとうございました。

関連記事

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

関連記事

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