UML クラスは、クラスのインスタンスが所有する属性、操作、関係、 およびセマンティクスを識別します。 クラスをインスタンス化するすべてのオブジェクトは、 通常、独自の属性値を提供します。 属性は変数、メンバー変数、プロパティー、 およびフィールドなどと呼ばれることもありますが、 通常は変数として実装されます。 図内における各クラスは、 外観およびロケーションを管理するプロパティーを持ちます。 図内のクラスのプロパティーを変更しても、 図形の外観が変更されるだけで、 基礎となるセマンティクス、またはアプリケーション要素を表す その他の図形には影響を及ぼしません。

追加コンパートメントを使用して、 クラスのインスタンスが受け取ることができる制約またはシグナルなど、 その他の詳細を表示することができます。
通常、アプリケーション内のクラスは、クラス図に表示されます。 クラス、またはクラスのインスタンス (オブジェクトまたは分類子ロールなど) は、 多くの場合、その他の図のタイプ (シーケンス図を含む) で表示されます。 クラスを図に追加して、以下の項目を表すことができます。
e-commerce アプリケーションには、Cart クラスが含まれています。 このクラスは itemList 属性と、Cart タイプの すべてのオブジェクトに所属する addItem 操作とを定義します。 実行時に、Cart クラスの複数インスタンスが作成されます。 各インスタンスが、そのクラスが定義する属性および操作を所有しています。 例えば、あるクラス・オブジェクトが addItem 操作を呼び出して、 その itemList 属性にビデオを追加する一方、 別のインスタンスが同じ操作を使用してブックを追加している場合、 各インスタンスの属性の値は異なります。