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