正答2
解説
正解は2です。
オブジェクト指向のクラス間の関係(関連・継承・集約)を問う問題です。
継承(汎化)では、サブクラスがスーパクラスの属性と操作を引き継ぎます。
【選択肢別解説】
1:× 関連は二つのクラス間に限りません。
三つ以上のクラスにまたがる関連や、同じクラスどうしの関連(再帰的な関連)も定義できます。
2:○ サブクラスでは、スーパクラスから継承した操作を、自分に合った内容に再定義できます。
これをオーバーライドといいます。
3:× サブクラスのインスタンスは、継承した操作を自分自身で実行します。
別にスーパクラスのインスタンスがあって、そこへ依頼するわけではありません。
4:× 集約は、全体と部分の関係(has-a関係)です。
集約オブジェクトが部品オブジェクトの属性と操作を共有するわけではなく、部品は独立したオブジェクトです。
【ポイント】
継承は「is-a(〜は〜の一種)」、集約は「has-a(〜は〜をもつ)」の関係と区別しましょう。
オーバーライドにより、同じ操作名でもクラスごとに異なる動作をさせる多相性(ポリモーフィズム)が実現できます。