メソッドのオーバーライドは、オブジェクト指向プログラミングにおいて重要な概念です。このガイドでは、メソッドのオーバーライドの意味と使い方について説明します。さらに、コード例を交えながら、メソッドのオーバーライドを実現するためのさまざまな方法を紹介します。
メソッドのオーバーライドとは、親クラス(またはスーパークラス)で定義されたメソッドを、子クラス(またはサブクラス)で再定義することです。これにより、子クラスは親クラスのメソッドを上書きし、独自の実装を提供することができます。メソッドのオーバーライドによって、ポリモーフィズムと呼ばれる特性を実現することができます。
以下に、メソッドのオーバーライドを実現する方法のいくつかを示します。
-
メソッドの名前、引数、戻り値を変更せずにオーバーライドする方法:
class Parent { public void printMessage() { System.out.println("親クラスのメソッド"); } } class Child extends Parent { @Override public void printMessage() { System.out.println("子クラスのメソッド"); } }
-
メソッドの引数や戻り値を変更してオーバーライドする方法:
class Parent { public void printMessage(String message) { System.out.println("親クラスのメソッド: " + message); } } class Child extends Parent { @Override public void printMessage(String message) { System.out.println("子クラスのメソッド: " + message); } }
-
親クラスのメソッドを呼び出しつつ、独自の処理を追加する方法:
class Parent { public void printMessage() { System.out.println("親クラスのメソッド"); } } class Child extends Parent { @Override public void printMessage() { super.printMessage(); // 親クラスのメソッドを呼び出す System.out.println("子クラスのメソッド"); } }
これらの方法を使って、メソッドのオーバーライドを実現することができます。オーバーライドされたメソッドは、オブジェクトの型に応じて実行時に適切なメソッドが呼び出されるため、柔軟なプログラミングが可能となります。
メソッドのオーバーライドは、継承やポリモーフィズムを理解する上で重要な概念です。是非、上記のコード例を参考にして、自身でもメソッドのオーバーライドを試してみてください。