正解は エ
オブジェクト指向プログラミングの多相性(Polymorphism:ポリモーフィズム)は「同一のインタフェース(メソッド名)で異なるクラスのオブジェクトを操作したとき、各クラスに応じた異なる動作をする」性質です。例えば「動物」クラスのsound()メソッドを犬クラスは「ワン」、猫クラスは「ニャン」として実装することで、同じsound()という呼び出しで異なる結果を得られます。継承と多相性を組み合わせることで、共通の操作に対してサブクラスごとの特有動作を実現できます。委譲(他のオブジェクトに処理を委ねる)、継承(親クラスの機能を引き継ぐ)、コンポジション(オブジェクトを組み合わせる)との違いを理解しましょう。
多相性(ポリモーフィズム)=「同じメソッド名の呼び出しで、クラスによって異なる動作をする」。継承(親機能を引き継ぐ)、委譲(別オブジェクトに処理を委ねる)、コンポジション(部品として組み合わせる)との区別が重要。「同一インタフェース+異なる動作=多相性」。