令和3年度 春期 システムアーキテクト試験 午前Ⅱ 問6
テクノロジ/開発技術オブジェクト指向における汎化の説明として,適切なものはどれか。
出典:令和3年度 春期 システムアーキテクト試験 午前Ⅱ 問6
- アあるクラスを基に,これに幾つかの性質を付加することによって,新しいクラスを定義する。
- イ幾つかのクラスに共通する性質をもつクラスを定義する。
- ウオブジェクトのデータ構造から所有の関係を見つける。
- エ同一名称のメソッドをもつオブジェクトを抽象化してクラスを定義する。
正解:イ
解説
汎化は,オブジェクト指向における概念の一つで,複数のクラスに共通する属性や操作(性質)を見つけ出し,それらを親(スーパークラス)として定義することをいいます。逆に,親クラスに性質を付加して新しいクラスを定義することは特化(継承によるサブクラスの作成)と呼ばれます。
選択肢ごとの解説
- ア誤り。あるクラスに性質を付加して新しいクラスを定義することは,特化(継承)の説明であり,汎化の説明ではありません。
- イ正しい。幾つかのクラスに共通する性質をもつクラスを定義することが,汎化の説明です。
- ウ誤り。オブジェクトのデータ構造から所有の関係を見つけることは,集約の説明であり,汎化の説明ではありません。
- エ誤り。同一名称のメソッドをもつオブジェクトを抽象化してクラスを定義することは,汎化そのものの定義とは異なり,ポリモーフィズムに関連する説明です。