令和5年度 秋期 プロジェクトマネージャ試験 午前Ⅱ 問14
テクノロジ/開発技術オブジェクト指向における汎化の説明として,適切なものはどれか。
出典:令和5年度 秋期 プロジェクトマネージャ試験 午前Ⅱ 問14
- アあるクラスを基に,これに幾つかの性質を付加することによって,新しいクラスを定義する。
- イ幾つかのクラスに共通する性質をもつクラスを定義する。
- ウオブジェクトのデータ構造から所有の関係を見つける。
- エ同一名称のメソッドをもつオブジェクトを抽象化してクラスを定義する。
正解:イ
解説
汎化(generalization)とは,複数のクラスに共通する性質(属性や操作)を抽出して,より一般的なスーパークラスを定義することです。逆に,スーパークラスに性質を付加して特殊化したサブクラスを定義することを特化(specialization)といい,両者は is-a 関係の両方向の見方に当たります。
選択肢ごとの解説
- ア誤り。あるクラスに性質を付加して新しいクラスを定義するのは,特化(継承によるサブクラスの定義)の説明です。
- イ正しい。複数のクラスに共通する性質をもつクラス(スーパークラス)を定義することが汎化です。
- ウ誤り。所有の関係を見つけるのは,集約(has-a 関係)に関する説明で,汎化とは異なります。
- エ誤り。同一名称のメソッドをもつオブジェクトを扱えるようにする性質は多相性(ポリモーフィズム)に関するもので,汎化の定義ではありません。