IPA公式正解:イ 幾つかのクラスに共通する性質をもつクラスを定義する。
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【イ】です。オブジェクト指向における「汎化(generalization)」とは、複数の下位クラス(サブクラス)に共通する属性や操作を抽出して、共通の上位クラス(スーパークラス)を定義することを指します。ボトムアップの抽象化アプローチであり、対義語は「特化(specialization)」です。
【詳細解説】■ 本問の核心・解法のポイント
オブジェクト指向におけるクラス間の関係性を問う基本問題です。
・汎化(Generalization):複数の具象的なクラスから共通する性質・振る舞いを抽出し、より一般的・抽象的なスーパークラスを定義する操作(例:「犬」と「猫」から「動物」を定義)。
・特化(Specialization):汎化の逆で、スーパークラスを基に特定の性質を付加してサブクラスを導出する操作。
・集約/コンポジション(Aggregation / Composition):全体と部分、所有の関係を表す関係。
・各選択肢の徹底解説:
・ア:基本クラスに性質を付加して新しいクラスを作る操作は「特化」または「継承(インヘリタンス)」の説明であり、汎化ではありません。
・イ:【選択肢イ★】正解です。複数のクラスの共通性質を抽出して上位クラスを定義することが「汎化」です。
・ウ:全体と部分の所有関係を見つけるのは「集約」や「コンポジション」の説明です。
・エ:同一名称のメソッドをもつオブジェクトを多態的に扱う概念は「ポリモーフィズム(多相性)」に関連する記述であり、汎化の定義ではありません。
よって正解はイです。