javaの多態とオーバーロードの違い

Javaにおける多態とオーバーライドは、異なる2つの概念

多態性(ポリモーフィズム)とは、同じメソッド(関数)が異なるオブジェクトで異なる動作をすることです。継承やインターフェースによって実現できます。多態性においては、サブクラスはスーパークラスのメソッドを上書きでき、スーパークラスの参照を使用してサブクラスのオブジェクトを参照すると、オブジェクトの実際の型に応じて適切なメソッドが呼び出されます。これにより、コードの柔軟性と拡張性を実現できます。

同じクラス内で、パラメータリストが異なるにもかかわらず、同じ名前を持つメソッドを複数持つことをオーバロードといいます。メソッドの呼び出し時には、渡されるパラメータの型や数に応じて、具体的にどのメソッドが呼び出されるかが決定されます。オーバロードすることで、さまざまなニーズに合わせて異なるメソッドインタフェースを提供することができます。

つまり、多態とはオブジェクトによって異なる動作をする同じメソッドのことで、オーバーロードとは同じクラス内でパラメータリストが異なる同じ名前のメソッドのことです。

bannerAds