基本情報暗記無料で始める

コンポジションとは?こんぽじしょん

コンポジションとは、オブジェクト指向の設計で、全体と部分の関係のうち、部分が全体に完全に属し、全体がなくなると部分も一緒になくなる強い関係。部分は同時に二つの全体に属さない。UMLのクラス図では、全体の側に黒塗りのひし形を付けた線で表す。設計の考え方としては、ほかのクラスの機能を、継承(親クラスの性質を引き継ぐこと)ではなく、部品として内部に持って使う作り方も指す。

最終更新:2026-10-10

試験情報

基本情報技術者試験の過去問では1問の解説で触れられています。

基本情報技術者試験の頻出用語/テクノロジ系

別名:合成集約、コンポジション集約

この語が出る過去問を解く →

背景

部分を全体と別々に管理すると、全体を削除したのに部分だけが残り、どこからも使われないデータが積み上がる。部分の寿命を全体に結び付けると決めておけば、消すときの手順が設計図から一意に決まる。また、継承で機能を引き継ぐと親クラスの変更が子クラスへ波及しやすいため、「継承よりも部品として持つ」コンポジションが設計の定石として広まった。

具体例

Amazonの注文(全体)と注文明細(部分)はコンポジションの関係にあたる。注文明細は「この注文の1行目の商品と数量」なので、注文を取り消して削除すれば明細も意味を失って一緒に消え、別の注文の明細を兼ねることもない。これに対し、明細が指している商品そのものは注文が消えても残るので、注文と商品はコンポジションではない。

試験での引っ掛け

集約との区別が最頻出。部分が全体と一緒に消えるのがコンポジション(黒塗り)、独立して残るのが集約(白抜き)。また、同じ呼び出しでもクラスごとに違う処理が動く性質はポリモーフィズム(多相性)で、コンポジションや継承、委譲(処理をほかのオブジェクトに任せること)は関係の作り方を表す語にすぎない。この取り違えを狙う選択肢が出る。

関連用語

出た過去問

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

この語が出る過去問を解く →

試験での特徴
  • 1問の解説で触れられる
  • 分野:テクノロジ系
  • 集約との区別が最頻出。