集約とは?しゅうやく
集約とは、オブジェクト指向の設計で、あるクラス(データと処理をまとめた設計図)が全体、別のクラスがその部分という「全体と部分」の関係のうち、部分が全体から独立して存在できるもの。全体がなくなっても部分は残る。UML(設計を図で表す標準の書き方)のクラス図では、全体の側に白抜きのひし形を付けた線で表す。
最終更新:2026-10-10
基本情報を最短で暗記・合格する →背景
クラスどうしの関係を「関連がある」とだけ書くと、片方を消したときにもう片方をどうするのかが設計図から読み取れない。「全体と部分」の関係なのか、その部分は全体と運命をともにするのか、を図の記号で区別しておけば、作る人によって扱いが食い違うのを防げる。そのために、弱い全体と部分の関係として集約、強い関係としてコンポジションが分けて定義された。
具体例
Spotifyのプレイリスト(全体)と曲(部分)は集約の関係にあたる。プレイリストを削除しても曲そのものはSpotifyに残り、同じ曲が別のプレイリストにも入れられる。大学でいえば、講義(全体)と受講する学生(部分)も集約で、講義が閉講になっても学生は在籍し続ける。
試験での引っ掛け
コンポジションとの区別が問われる。部分が全体と一緒に消えるならコンポジション(黒塗りのひし形)、独立して残るなら集約(白抜きのひし形)。ひし形は部分の側ではなく全体の側に付く。また、「〜は〜の一種である」という関係(is-a)は継承(汎化)で、「〜は〜を持つ」(has-a)である集約とは別物。SQLの集約関数とは名前が似ているだけで関係がない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。