UML (1) — クラス図

クラス図の関連・汎化・実現・集約・コンポジションの読み方と多重度を整理。

クラス図はオブジェクト指向設計の根幹。AP科目Aで頻出、科目B問8 (情報システム開発) で読解問題が出ます。

鳴海 理央(普段) 鳴海 理央

UML は標準モデリング言語で、クラス図 はクラス・属性・操作・関連を表します。
関連にはカーディナリティ (1, 0..1, 1..*, * など) を付けます。

砂原 ニコ(しょんぼり) 砂原 ニコ

うーっ、矢印と線がいっぱいで、あたし頭こんがらがってきた…

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

覚えるのは6種類なのよ。
関連 (横線)・依存 (点線矢印)・集約 (空菱形)・コンポジション (黒菱形)・汎化 (白い三角)・実現 (点線+白い三角)。
具体例とセットで覚えるのが一番ね。

藤咲 まりあ(普段) 藤咲 まりあ

集約とコンポジションって、何が違うんですかぁ?

鳴海 理央(普段) 鳴海 理央

どちらも『全体・部分』の関係ですが、コンポジション (黒菱形) は全体が消えると部分も消える強い関係 (例: 自動車とエンジン)。
集約 (空菱形) は全体が消えても部分は残る弱い関係 (例: 大学と学生) です。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

AP では『矢印の種類とその意味』『多重度の読み方』が頻出ということね。
クラス図と SQL の対応 (1対多 → 外部キー) もよく問われるのよ。

確認クイズ

UML クラス図で、『コンポジション (Composition)』が表す関係として最も適切なものはどれか。

  1. あるクラスが他のクラスを一時的に使うだけの関係
  2. あるクラスが基底クラスを継承する関係
  3. 全体が消えると部分も消える、強い『全体・部分』の関係
  4. 全体が消えても部分は残る、弱い『全体・部分』の関係
こたえを見る

正解: 3. 全体が消えると部分も消える、強い『全体・部分』の関係

コンポジション (黒い菱形) は『全体が消えれば部分も消える』強い包含関係。例: 家とその部屋。集約 (空白の菱形) は弱い関係で、全体が消えても部分は独立して存続できます (例: 大学と学生)。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。