システムアーキテクト暗記無料で始める

汎化・特化とは?はんか・とっか

汎化・特化とは、複数のクラスに共通する属性と操作を抜き出して上位クラスへまとめるのが汎化、上位クラスの性質を引き継ぎつつ固有の性質を加えて下位クラスを作るのが特化。抽象化の向きが互いに逆になる。UMLでは白抜き三角の矢印で表し、実装上は継承として現れる。

最終更新:2026-10-06

試験情報

システムアーキテクト試験の頻出用語/午前II

別名:特化、汎化と特化、汎化・特化(オブジェクト指向)

システムアーキテクトを最短で暗記・合格する →

背景

同じ処理を種類ごとに書き分けると、共通部分の修正が種類の数だけ発生する。共通する概念を1つ上へ置けば修正は1か所で済み、新しい種類は差分だけ書けばよくなる。ただし上位に置いた性質は下位すべてへ強制されるので、「この下位だけ当てはまらない」が出た時点で、その階層が業務の実態とずれている合図になる、という読み方も要る。

具体例

人事システムで「正社員」「契約社員」「派遣スタッフ」から氏名・所属・支給計算という共通性を抜き出し、上位に「従業員」を置くのが汎化。逆に「従業員」から時間単価で計算する「契約社員」を導くのが特化。JavaのList型とArrayList・LinkedListも同じ関係にある。

試験での引っ掛け

汎化はis-a(下位は上位の一種)、集約やコンポジションはhas-a(部分と全体)で、この取り違えが定番。「注文」と「注文明細」は汎化ではなく集約になる。また汎化はあくまで分類であって、在職中/休職中のような状態の違いを下位クラスにすると、状態が変わるたび作り直す設計になってしまう。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

システムアーキテクトを最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 汎化はis-a(下位は上位の一種)、集約やコンポジションはhas-a(部分と全体)で、この取り違えが定番。