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

ア:“バス”,“トラック”などのクラスが“自動車”クラスの定義を引き継ぐことを,インスタンスという。
イ:“バス”,“トラック”などのクラスの共通部分を抽出し“自動車”クラスとして定義することを,汎化という。(正解)
ウ:“バス”,“トラック”などのクラスは,“自動車”クラスに対するオブジェクトという。
エ:“バス”,“トラック”などのそれぞれのクラスの違いを“自動車”クラスとして定義することを,特化という。
解説
情報処理技術者試験の「午前2」の問題では、クラス図に表された「自動車」とその下位に位置する「バス」「トラック」「セダン」「バン」といったクラスの関係を理解することが問われています。
問題のポイント
この図では、「自動車」クラスが上位にあり、そこから複数の下位クラス(「バス」「トラック」「セダン」「バン」)に枝分かれしています。これはオブジェクト指向の設計における**「汎化・特殊化」の階層構造**を意味しています。
- 汎化(Generalization): 共通する特徴を抽出して上位のクラスにまとめること。
- 特殊化(Specialization): 上位クラスの特徴を引き継ぎつつ、より具体的な特徴を追加して下位クラスを定義すること。
選択肢の説明と解説
-
ア:「バス」「トラック」などのクラスが「自動車」クラスの定義を引き継ぐことを、インスタンスという。→ 誤り
「インスタンス」とは、クラスから生成された具体的なオブジェクトを指します。
今回の図はクラス同士の継承関係(汎化・特殊化)であり、ここでの「バス」「トラック」などはクラスであってインスタンスではありません。 -
イ:「バス」「トラック」などのクラスの共通部分を抽出し「自動車」クラスとして定義することを、汎化という。→ 正解
共通の属性や操作を抽出して上位の「自動車」クラスにまとめているため、これはまさに汎化の意味に当てはまります。 -
ウ:「バス」「トラック」などのクラスは「自動車」クラスに対するオブジェクトという。→ 誤り
「オブジェクト」はクラスから生成された実体のことです。
この場合、「バス」「トラック」もクラスなので、「自動車」クラスのオブジェクトではありません。 -
エ:「バス」「トラック」などのそれぞれのクラスの違いを「自動車」クラスとして定義することを、特化という。→ 誤り
違いを定義するのは、下位クラス(「バス」「トラック」など)であり、それぞれの特徴が具体化されていきます。
これを「特殊化(特化)」と呼びますが、設問にある図では「自動車」が上位で共通部分をまとめる役割なので、この説明は当てはまりません。
まとめ
-
**汎化(Generalization)**とは、複数のクラスに共通する性質を上位のクラスにまとめることです。今回の場合、「バス」「トラック」「セダン」「バン」の共通点を抽出して「自動車」という上位クラスにまとめているため、これは汎化です。
-
**特殊化(Specialization)**は、上位クラスを基に下位クラスをより詳細に定義することを指し、今回の図からは「自動車」から下位にそれぞれの種類が派生している様子を見ることができます。
-
**インスタンス(オブジェクト)**はクラスから作られる具体的な実体のことであり、クラス同士の関係を表す用語ではありません。
したがって、この問題の正解は イ となります。