Javaでのメソッドのオーバーライド(Method Overriding)について説明します

Java

Java 

概念

メソッドのオーバーライドとは、サブクラスが親クラスのメソッドを再定義して、サブクラスの特別な要件に合わせることを指します。

サブクラスは親クラスのメソッドを継承しますが、時には親クラスのメソッドを変更または拡張する必要があります。

メソッドのオーバーライドでは、サブクラスは同じメソッド名、同じパラメータリスト、同じ戻り値型を使用して親クラスのメソッドを上書きします。

参考 オーバーロード(Method Overloading)

特徴

  • メソッド名、パラメータリスト、戻り値型は親クラスのメソッドと同じでなければなりません。
  • サブクラスのオーバーライドメソッドは、親クラスのメソッドよりも低いアクセス修飾子を持つことはできません。
  • オーバーライドメソッドは、親クラスのメソッドと同じまたは少ない例外をスローすることができます。
  • オーバーライドメソッドは、親クラスのメソッドよりも多くの例外をスローすることはできません。

目的

  • ポリモーフィズムを実現し、親クラスの参照を使用してサブクラスのメソッドを呼び出すことができます。
  • サブクラスで親クラスから継承したメソッドを修正または拡張します。

サンプルコード

class Animal {
    public void makeSound() {
        System.out.println("Animal is making a sound");
    }
}

class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog is barking");
    }
}

上記の例では、AnimalクラスがmakeSoundメソッドを定義し、DogクラスがAnimalクラスを継承してmakeSoundメソッドをオーバーライドしています。makeSoundメソッドを呼び出す際に、オブジェクトがDog型であれば、サブクラスのDogのメソッドが実行されます。

コメント

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