Agregação em Javais, um relacionamento entre duas classes que é melhor descrito como um relacionamento "tem um" e "todo / parte". É uma versão mais especializada do relação de associação. A classe agregada contém uma referência a outra classe e é dito ter propriedade dessa classe. Cada classe referenciada é considerada parte de a classe agregada.
A propriedade ocorre porque não pode haver referências cíclicas em um relacionamento de agregação. Se a Classe A contiver uma referência à Classe B e a Classe B contiver uma referência à Classe A, nenhuma propriedade clara poderá ser determinada e o relacionamento será simplesmente de associação.
Por exemplo, se você imaginar uma turma de Alunos que armazena informações sobre alunos individuais de uma escola. Agora assuma uma classe Subject que contenha os detalhes sobre um assunto específico (por exemplo, história, geografia). Se a classe Student estiver definida para conter um objeto Subject, pode-se dizer que o objeto Student tem um Objeto de assunto. O objeto Subject também compõe
parte de o objeto Student - afinal, não há aluno sem um assunto para estudar. O objeto Student, portanto, possui o objeto Assunto.