クラスは、共通の構造と振る舞いを共有するオブジェクト、またはオブジェクト集合の抽象化を表す統一モデリング言語 (UML) のダイアグラム要素です。
クラスは、クラスのインスタンスが保有する属性、操作、関係、セマンティクスを識別します。クラスをインスタンス化するあらゆるオブジェクトは、通常独自の属性値を持っています。属性は変数、メンバー変数、プロパティー、およびフィールドとも呼ばれますが、通常は変数として実装されます。 この図では、各クラスにその外観と場所を決定するプロパティーがあります。 図でクラスのプロパティーを変更しても、図形の外観が変更されるだけであり、そのアプリケーションの要素を表す、基となるセマンティクスまたはその他の図形には影響を及ぼしません。
追加区画を使用すると、クラスのインスタンスが受信できる制約やシグナルなど、その他の詳細情報を表示できます。
通常、アプリケーション内のクラスはクラス図に表示されます。 クラスまたはクラスのインスタンス (オブジェクトや分類子ロールなど) は、シーケンス図などの他のタイプの図にも頻繁に表示されます。 図にクラスを追加して、以下の項目を表現することができます。
Cart クラスを含む e-commerce アプリケーション。このクラスでは itemList 属性と addItem 操作が定義されており、いずれも Cart タイプのすべてのオブジェクトに属しています。実行時に、Cart クラスの複数のインスタンスが作成され、各インスタンスはクラスが定義した属性と操作を保有します。 例えば addItem 操作を呼び出して itemList 属性にビデオを追加するクラス・オブジェクトもあれば、同じ操作で本を追加するインスタンスもある場合など、インスタンスの属性値はそれぞれ異なります。