オブジェクト指向の基礎比較問題
Javaにおける「ポリモーフィズム(多態性)」と「継承(inheritance)」の関係として、最も適切なものはどれですか?
A.継承はクラスとインターフェースの関係を表し、ポリモーフィズムはクラス同士の関係のみを表す
✗ 継承はクラス同士の関係でも使われます。またポリモーフィズムはインターフェースを通じても実現されます。
B.継承は親クラスの性質を子クラスが引き継ぐ仕組みであり、ポリモーフィズムは継承などを活用して同じ操作で異なる動作を実現する概念である← 正解
✓ 正解です。継承は「is-a関係」でメンバーを引き継ぐ仕組みで、ポリモーフィズムはその継承関係を利用し同じ呼び出しで異なる動作を実現します。
C.ポリモーフィズムはオーバーロードのみで実現され、継承とは無関係である
✗ ポリモーフィズムはオーバーライドや継承関係を活用して実現されるものであり、継承と密接に関連しています。
D.継承とポリモーフィズムは全く同じ概念であり、どちらを使っても意味は変わらない
✗ 継承とポリモーフィズムは別の概念です。継承は仕組みであり、ポリモーフィズムはその仕組みを活用した性質・概念です。