【くらすず】

クラス図 とは?

💡 システムの設計図面。クラスという部品と、その「つながり方」を一目で見渡せる
📌 このページのポイント
クラス図のイメージ User - name: String - email: String + login(): boolean + logout(): void Order - orderId: int - totalPrice: int + confirm(): void + cancel(): void Admin - role: String + manageUsers(): void Product - productName: String + getPrice(): int 1 * 注文する * * ▲ 継承 ── 関連
クラス図のイメージ
ひよこ ひよこ

クラス図ってどんな図なの?

ペンギン先生 ペンギン先生

システムに登場するクラスを四角い箱で描いて、クラス同士の関係を線でつないだ図だよ。箱の中にはクラス名、持っているデータ(属性)、できること(操作)を書くんだ

ひよこ ひよこ

線にもいろいろ種類があるの?

ペンギン先生 ペンギン先生

うん、たくさんあるよ。たとえば実線は『関連(お互いを知っている)』、白い三角矢印は『継承(親子関係)』、ひし形は『集約(部品として持っている)』みたいにね

ひよこ ひよこ

どんなときに使うの?

ペンギン先生 ペンギン先生

設計段階でシステムの構造を整理するときに描くよ。たとえば『ユーザークラスは注文クラスを複数持つ』『管理者クラスはユーザークラスを継承する』みたいな関係を可視化するんだ

ひよこ ひよこ

ER図と似てる気がするんだけど、違いは何なの?

ペンギン先生 ペンギン先生

いいところに気づいたね。ER図データベーステーブル関係を描くもの、クラス図はプログラムのクラス関係を描くもの。ER図にはメソッド(操作)がないけど、クラス図にはあるのが大きな違いだよ

ひよこ ひよこ

クラス図を上手に描くコツってあるの?

ペンギン先生 ペンギン先生

全部のクラスを一枚に描こうとしないことだね。パッケージごとに分けたり、重要な関係だけ抜き出して描いたりするのがコツ。あと、多重度(1対多多対多など)を線の端に書くと、関係の意味がぐっと明確になるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「クラス図」って出てきたら「クラス同士の関係を箱と線で描いた設計図」と思えればだいたいOK!
📖 おまけ:英語の意味
「Class Diagram」 = クラスの図
💬 Classはオブジェクト指向の基本単位で、設計図のようなもの。それを図にするからClass Diagramだよ
← 用語集にもどる