クラス図はオブジェクト指向設計の根幹。AP科目Aで頻出、科目B問8 (情報システム開発) で読解問題が出ます。
UML は標準モデリング言語で、クラス図 はクラス・属性・操作・関連を表します。
関連にはカーディナリティ (1, 0..1, 1..*, * など) を付けます。
うーっ、矢印と線がいっぱいで、あたし頭こんがらがってきた…
覚えるのは6種類なのよ。
関連 (横線)・依存 (点線矢印)・集約 (空菱形)・コンポジション (黒菱形)・汎化 (白い三角)・実現 (点線+白い三角)。
具体例とセットで覚えるのが一番ね。
集約とコンポジションって、何が違うんですかぁ?
どちらも『全体・部分』の関係ですが、コンポジション (黒菱形) は全体が消えると部分も消える強い関係 (例: 自動車とエンジン)。
集約 (空菱形) は全体が消えても部分は残る弱い関係 (例: 大学と学生) です。
AP では『矢印の種類とその意味』『多重度の読み方』が頻出ということね。
クラス図と SQL の対応 (1対多 → 外部キー) もよく問われるのよ。
確認クイズ
UML クラス図で、『コンポジション (Composition)』が表す関係として最も適切なものはどれか。
- あるクラスが他のクラスを一時的に使うだけの関係
- あるクラスが基底クラスを継承する関係
- 全体が消えると部分も消える、強い『全体・部分』の関係
- 全体が消えても部分は残る、弱い『全体・部分』の関係
こたえを見る
正解: 3. 全体が消えると部分も消える、強い『全体・部分』の関係
コンポジション (黒い菱形) は『全体が消えれば部分も消える』強い包含関係。例: 家とその部屋。集約 (空白の菱形) は弱い関係で、全体が消えても部分は独立して存続できます (例: 大学と学生)。