Uma associação conecta dois classificadores: o classificador fornecedor e o classificador cliente. As associações podem ajudar você a tomar decisões de design sobre a estrutura de seus dados. Você pode tomar decisões não apenas sobre as classes que devem conter os dados, mas também sobre quais classes são necessárias para compartilhar os dados com outras classes. Uma associação suporta o compartilhamento de dados entre classes ou, no caso de uma auto-associação, entre objetos da mesma classe.
Por exemplo, uma classe Client pode ter uma associação única (1) para uma classe Account, indicando que cada instância de Account seja pertencente a uma instância de Client. Se você tiver uma Account, poderá localizar o Client que possui essa conta. E com um Client fornecido, poderá localizar a Account desse cliente. A associação entre as classes Client e Account é importante porque mostra a estrutura entre os dois classificadores.
As informações de multiplicidade podem estar vinculadas a uma associação para mostrar quantas instâncias de classe A estão vinculadas a instâncias de classe B. As informações de multiplicidade podem estar vinculadas às duas finalizações de relacionamentos de associação.
Em diagramas de classes UML, os relacionamentos de associação em um aplicativo Java representam os seguintes itens:
Na representação visual de UML, as variáveis de instância em um aplicativo Java se tornam atributos em classificadores nos diagramas de classes UML. Por padrão, todos os campos de bean de entidade Java e Container-managed Persistence (CMP) são mostrados como atributos.
Como a figura a seguir ilustra, um relacionamento de associação é representado como uma linha sólida entre dois classificadores.
| Código-fonte Java | Representação Visual UML |
![]() |
![]() |