【くらすず】

クラス図 とは?

最終更新:
💡 クラスという部品の構造とつながりを描く設計図

クラスの名前・属性・操作と、クラス同士の関連や継承などを表すUMLの構造図。システムの静的な構造を整理し、設計や説明に使う。

📌 このページのポイント
クラスと関係を読む:注文システムの例 User - name: String + login(): bool Order - total: int + confirm(): void 1 0..* 注文 Admin - role: String + manage(): void Product - name: String + price(): int 継承 0..* 0..* 関連 実線:関連 白い三角:親クラス側
UserとOrderの多重度は1と0..*。AdminからUserへの白い三角は継承を示す。操作の順序を示す図ではない。
ひよこ ひよこ
クラス図ってどんな図なの?
ペンギン先生 ペンギン先生
クラスを箱で描き、どんなデータや操作を持ち、ほかのクラスとどう関係するかを示す図だよ。名前・属性・操作の3区画がよく使われるけど、目的に応じて属性や操作を省略してもいいんだ。
ひよこ ひよこ
線にもいろいろ種類があるの?
ペンギン先生 ペンギン先生
実線の関連はインスタンス同士の結び付き、白い三角の付いた実線は継承を表すよ。三角は親側に付ける。関連の実線だけでは、双方が相手を参照できるとは決まらないんだ。
ひよこ ひよこ
ひし形の付いた線は?
ペンギン先生 ペンギン先生
白いひし形は集約、黒いひし形は合成で、どちらも全体側に付けるよ。合成は部品の強い所有関係を表し、全体が削除されると部品も削除される。ただの関連と同じ意味ではないから、関係に合う記号を選ぶんだ。
ひよこ ひよこ
線の端にある数字は何?
ペンギン先生 ペンギン先生
多重度だよ。ユーザー側に1、注文側に0..*なら、1件の注文は1人のユーザーに結び付き、1人のユーザーには0件以上の注文が結び付く例だね。数字は、その端のクラスのインスタンス数を読むんだ。
ひよこ ひよこ
ER図や処理の流れの図とは違うの?
ペンギン先生 ペンギン先生
ER図は主にデータの実体・属性・関係を整理する図で、クラス図では操作や継承も表せるよ。クラス図の線は、処理する順番を示す矢印ではないんだ。時間順のやり取りを見たいならシーケンス図などを使うよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「クラス図」って出てきたら「クラス同士の関係を箱と線で描いた設計図」と思えればだいたいOK!
📖 おまけ:英語の意味
「Class Diagram」 = クラスの図
💬 Classはオブジェクト指向の基本単位で、設計図のようなもの。それを図にするからClass Diagramだよ

参考資料

← 用語集にもどる