統一モデリング言語 (UML) クラス図では、関連とは構造上の関係の 1 つであり、1 つの分類子のオブジェクト (たとえばクラスまたはインターフェース) が他の分類子のオブジェクトに接続されていて、それらのオブジェクトへナビゲートできることを意味します。
関連は 2 つの分類子 (サプライヤー分類子とクライアント分類子) を接続します。関連はデータの構造に関する設計上の決定に役立ちます。データを入れる必要のあるクラスについてだけでなく、どのクラスが別のクラスとデータを共用する必要があるかについても 決定することができます。関連はクラス間のデータ共用をサポートし、 自己関連の場合は、同一クラスのオブジェクト間のデータ共用もサポートします。
たとえば、Client クラスは Account クラスに対する単一の関連 (1) を持つことがあります。これは、Account インスタンスがそれぞれ 1 つの Client インスタンスによって所有されていることを示します。Account があると、その Account を所有する Client を見付けることができます。また、所定の Client について、その Client の Account を見付けることができます。 Client クラスと Account クラスの間の関連は、2 つの分類子間の構造を示すために重要です。
多重度情報は関連にリンクして、クラス A のいくつのインスタンスが クラス B のインスタンスにリンクされているかを示すことができます。多重度情報は、関連関係の両端にリンクすることができます。
UML クラス図では、Java™ アプリケーションにおける関連関係は次のものを示します。
UML 可視化マッピングでは、Java アプリケーションのインスタンス変数は、 UML クラス図での分類子の図形の属性になります。デフォルトでは、すべての Java およびコンテナー管理パーシスタンス (CMP) エンティティー Bean フィールドが属性として示されます。
次の図で説明するように、関連関係コネクターは、2 つの分類子間の実線として表示されます。
Java ソース・コード | UML 可視化 |
![]() |
![]() |