A classe é um modelo, um planejamento, tal como a maquete de uma casa. ... O objeto seria a classe materializada, ou seja, um objeto com os devidos atributos qualificados: uma casa azul, térrea, com garagem, construída em 2015, com valor venal de $ com área construída de 60m2, etc.
A associação entre dois objetos ocorre quando eles são completamente independentes entre si mas eventualmente estão relacionados. Ela pode ser considerada uma relação de muitos para muitos. Não há propriedade (ownership) nem dependência entre eles.
Na Figura 1, utiliza-se uma reta tracejada com terminal em seta para indicar a relação de Dependência. Na Figura 2, uma reta não tracejada com terminal em triângulo representa a Generalização. Finalmente, na Figura 3, uma reta, sem terminação representa o relacionamento de Associação.
Acontece que em alguns casos chamam isso de composição e em outros casos chamam isso de agregação. Pesquisando li que composição é quando um dos objetos não existe independente do outro e agregação é quando os dois podem existir independentemente.
Representa que um tipo de objeto é composto, pelo menos em parte, de outro objeto em uma relação todo/parte.
Um conceito composto como um todo que virá a ser particionado eventualmente em uma hierarquia de composição. Este conceito descreve o todo composto de partes sem fazer menção ainda aos componentes.
Agregação: É uma forma especial de associação utilizada para mostrar que um tipo de objeto é composto, pelo menos em parte, de outro em uma relação todo/parte. Indicando que o objeto parte "é um atributo" do objeto todo, onde o ciclo de vida do objeto parte é limitado ao ciclo de vida do objeto todo.
O que é Composição em Java É instanciar, ou usar, uma classe/objeto em outra(o). É como se elas se comunicassem, trocassem informações. Ou seja, serve para reutilizar dados, sem ter que criar mais código pra isso. ... Costuma-se dizer que composição é o ato de delegar trabalho para outro objeto.