Uma agregação é um tipo especial de associação na qual objetos são montados ou configurados para criar um objeto mais complexo. Uma agregação descreve um grupo de objetos e como você interage com eles. A agregação protege a integridade de uma montagem de objetos definindo um único ponto de controle, chamado de agregado, no objeto que representa a montagem. A agregação também usa o objeto de controle para decidir como os objetos montados respondem a alterações ou instruções que podem afetar a coleta.
Fluxos de dados de todo o classificador, ou agregado, para a parte. Um classificador de parte pode pertencer a mais de um classificador agregado e pode existir independentemente do agregado. Por exemplo, uma classe Departamento pode ter um relacionamento de agregação com a classe Company, que indica que o departamento faz parte da empresa. Agregações estão estritamente relacionadas a composições.
Você pode nomear uma associação para descrever a natureza do relacionamento entre dois classificadores; no entanto, nomes são desnecessários se você usa nomes de extremidade de associação.
Como a seguinte figura ilustra, uma associação de agregação aparece como uma linha sólida com um losango vazado na extremidade da associação, que está conectada ao classificador que representa o agregado. Os relacionamentos de agregação não precisam ser unidirecionais.
