プロジェクトマネージャ試験 令和5年度 秋期 午前II 問14
オブジェクト指向における汎化の説明として、適切なものはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】イ
汎化とは、複数のクラスに共通する属性や操作を取り出し、それらをまとめた、より一般的な上位クラスを定義することです。例えば、「自動車」と「自転車」に共通する「移動する」という性質を取り出して、上位に「乗り物」クラスを定義する考え方です。個別のものから共通部分を抽出して一般的な概念へまとめるので、イが正解です。UMLのクラス図では、下位クラスから上位クラスへ向かう白抜き三角形の矢印で表します。
アの、既存のクラスに性質を追加して新しいクラスを定義する説明は誤りです。これは上位クラスを基に、より具体的な下位クラスを作る特殊化の説明です。下位クラスが上位クラスの性質を受け継ぐ点では、継承とも関係します。
ウの、データ構造から所有の関係を見つける説明は誤りです。これは全体と部分の関係を表す集約やコンポジションに関係します。例えば、自動車とタイヤの関係が該当します。
エの、同一名称のメソッドをもつオブジェクトを抽象化してクラスを定義する説明は誤りです。個々のオブジェクトから共通する性質を抜き出してクラスを定義するのは、オブジェクトとクラスの関係(分類)に当たります。汎化は、既にある複数のクラスから共通部分を取り出して上位クラスを作ることであり、クラスどうしの上位・下位の関係を定める点が異なります。また、メソッド名が同じというだけでは、概念上の共通性があるとは限りません。
【ポイント】 汎化は「複数の具体的なクラスから、共通する上位クラスを作ること」です。 特殊化はその逆で、上位クラスから特徴を追加した下位クラスを作ります。 集約は全体と部分の関係、オブジェクトからクラスを定義するのは分類であり、汎化とは区別します。
出典:令和5年度 秋期 プロジェクトマネージャ試験 午前II 問14
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる