クラス図内の関連は、クラスやインターフェースなどの特定の分類子のオブジェクトが接続されていて、別の分類子のオブジェクトにナビゲートできることを示す構造関係です。
関連は 2 つの分類子 (サプライヤー分類子とコンシューマー分類子) を接続します。 関連は、データ構造に関する設計判断を支援します。 データを格納するために必要なクラスだけでなく、他のクラスとデータを共用するために必要なクラスに関する判断も行うことができます。 関連はクラス間、または同じクラスのオブジェクト間 (自己関連の場合) のデータ共用をサポートします。
例えば、Customer クラスには Account クラスとの単一の関連 (1) があり、各 Account インスタンスが特定の Customer インスタンスによって所有されることを示します。アカウントを所有しているユーザーは、このアカウントを所有するカスタマーを検索できます。カスタマーが指定された場合は、このカスタマーのアカウントを検索できます。 Customer クラスと Account クラスの関連は、これら 2 つの分類子間の構造を示しているため重要です。
関連に多重度の情報をリンクして、クラス B のインスタンスにリンクしているクラス A のインスタンス数を示すことができます。関連の両端には多重度の情報をリンクできます。
クラス図では、C/C++ アプリケーションの関連は次の情報を表します。
C/C++ アプリケーション内のインスタンス変数は、視覚的マッピングでは、クラス図の分類子の属性に対応します。 デフォルトでは、すべての C/C++ フィールドが属性として表示されます。
関連のコネクターは、2 つの分類子間の実線として表示されます。
次の図に、ソース・コードの例、および関連のグラフィカル表現を示します。
C/C++ ソース・コード | UML の可視化 |
![]() |
![]() |