情報処理安全確保支援士試験 2010年 春期 午前2 問22
次のクラス図におけるクラス間の関係の説明のうち,適切なものはどれか。

ア:“バス”,“トラック”などのクラスが“自動車”クラスの定義を引き継ぐことを,インスタンスという。
イ:“バス”,“トラック”などのクラスの共通部分を抽出し“自動車”クラスとして定義することを,汎化という。(正解)
ウ:“バス”,“トラック”などのクラスは,“自動車”クラスに対するオブジェクトという。
エ:“バス”,“トラック”などのそれぞれのクラスの違いを“自動車”クラスとして定義することを,特化という。
解説
クラス図におけるクラス間の関係の説明【午前2 解説】
要点まとめ
- 結論:複数のクラスの共通部分を抽出し上位クラスとしてまとめることを「汎化」と呼びます。
- 根拠:「自動車」クラスは「バス」「トラック」などの共通の特徴を持つ上位概念であり、これが汎化の典型例です。
- 差がつくポイント:インスタンスとクラスの違いや、特化と汎化の用語の正確な理解が重要です。
正解の理由
「バス」「トラック」などの複数のクラスに共通する属性や操作を抽出し、それを「自動車」という上位クラスにまとめる行為は「汎化」と呼ばれます。図の構造はまさにこの汎化関係を示しており、選択肢イが正しい説明です。
よくある誤解
「インスタンス」はクラスから生成される具体的なオブジェクトを指し、クラス間の継承関係とは異なります。また、「特化」は上位クラスから下位クラスへ特徴を追加することを意味します。
解法ステップ
- 図の構造を確認し、「自動車」が上位クラスであることを把握する。
- 「バス」「トラック」などが「自動車」の下位クラスであることを理解する。
- 用語の意味を整理し、「汎化」は共通部分の抽出であることを確認する。
- 選択肢の用語と図の関係を照合し、正しい説明を選ぶ。
選択肢別の誤答解説ステップ
- ア: インスタンスはクラスから生成される具体的なオブジェクトであり、クラスの定義を引き継ぐことではありません。
- イ: 複数のクラスの共通部分を抽出し上位クラスとして定義することを「汎化」と呼び、図の関係に合致します。
- ウ: 「バス」「トラック」などはクラスであり、オブジェクト(インスタンス)ではありません。
- エ: 「特化」は上位クラスから下位クラスへ特徴を追加することであり、図の説明とは逆の意味です。
補足コラム
汎化(Generalization)はオブジェクト指向設計の基本概念で、共通の属性や操作を抽出して再利用性を高めます。逆に特化(Specialization)は上位クラスの機能を拡張し、より具体的なクラスを作ることを指します。これらの関係はUMLのクラス図で矢印や線の形で表現されます。
FAQ
Q: 汎化と継承は同じ意味ですか?
A: はい。汎化は概念的な共通部分の抽出で、継承はその実装手段として使われます。ほぼ同義と考えて差し支えありません。
A: はい。汎化は概念的な共通部分の抽出で、継承はその実装手段として使われます。ほぼ同義と考えて差し支えありません。
Q: インスタンスとは何ですか?
A: クラスから生成された具体的なオブジェクトのことです。クラスは設計図、インスタンスはその実体です。
A: クラスから生成された具体的なオブジェクトのことです。クラスは設計図、インスタンスはその実体です。
関連キーワード: クラス図, 汎化, 特化, インスタンス, 継承, UML, オブジェクト指向