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