応用情報技術者 2017年 春期 午前2 問47
問題文
汎化の適切な例はどれか。

選択肢
ア:(正解)
イ:
ウ:
エ:
汎化の適切な例はどれか【午前2 解説】
要点まとめ
- 結論:アの「哺乳類」と「人・犬・猫」の関係が汎化の正しい例です。
- 根拠:汎化は複数の具体的なクラスの共通の上位概念を抽象化し、一般化することを指します。
- 差がつくポイント:属性や部品の関係(集約・コンポジション)と混同せず、クラス間の一般化・特殊化の関係を正確に理解することが重要です。
正解の理由
アの図は「哺乳類」という上位クラスがあり、その下に「人」「犬」「猫」という具体的な下位クラスが並んでいます。これは「哺乳類」が共通の特徴を持つ複数の具体的なクラスをまとめた抽象的な概念であり、まさに汎化(Generalization)の典型例です。
他の選択肢は部品や属性の関係を示しており、汎化とは異なります。
他の選択肢は部品や属性の関係を示しており、汎化とは異なります。
よくある誤解
汎化と集約やコンポジションを混同し、部品や属性の関係を汎化と誤認することがあります。
また、単なる属性の並列表示を汎化と考える誤りも多いです。
また、単なる属性の並列表示を汎化と考える誤りも多いです。
解法ステップ
- 汎化の定義を確認する(複数の具体的なクラスの共通点を抽象化する関係)
- 図の上位クラスと下位クラスの関係を確認する
- 下位クラスが上位クラスの特殊化であるかを判断する
- 属性や部品の関係ではないことを確認する
- 汎化の特徴を満たす選択肢を選ぶ
選択肢別の誤答解説
- イ:自動車とアクセル・ブレーキ・ハンドルの関係は部品(集約)であり、汎化ではありません。
- ウ:商品と受注・在庫・出荷は業務プロセスや機能の関係で、汎化の概念とは異なります。
- エ:取引先と会社名・住所・電話番号は属性の関係であり、汎化ではありません。
補足コラム
汎化はオブジェクト指向設計の基本概念で、クラス図で「三角形の矢印」で表されます。
上位クラスは共通の属性や操作を持ち、下位クラスはそれを継承しつつ独自の特徴を持ちます。
これによりコードの再利用性や拡張性が高まります。
上位クラスは共通の属性や操作を持ち、下位クラスはそれを継承しつつ独自の特徴を持ちます。
これによりコードの再利用性や拡張性が高まります。
FAQ
Q: 汎化と継承は同じ意味ですか?
A: はい。汎化は上位クラスを抽象化することで、継承はその上位クラスの機能を下位クラスが引き継ぐことを指します。
A: はい。汎化は上位クラスを抽象化することで、継承はその上位クラスの機能を下位クラスが引き継ぐことを指します。
Q: 集約と汎化の違いは何ですか?
A: 集約は「部分-全体」の関係で、部品が全体に属することを示します。汎化は「一般-特殊」の関係で、クラスの抽象化を示します。
A: 集約は「部分-全体」の関係で、部品が全体に属することを示します。汎化は「一般-特殊」の関係で、クラスの抽象化を示します。
関連キーワード: 汎化、一般化、クラス図、オブジェクト指向、継承、UML, 集約、属性

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

