Bom dia Wagner. Já tive a mesma dúvida faz um tempo atrás e descobri que pra efeitos de código na programação não faz muita diferença. Ou seja, no diagrama de classes UML fazemos essa distinção, mas na pratica na hora de escrever o código os dois serão declarados da mesma forma. Mas ainda assim é bom entender os conceitos por trás da diferença conceitual entre Composição e Agregação pois isso pode influenciar nas suas regras de negócios sobre qual o efeito que uma classe terá sobre a outra.
Resumindo, na hora de declarar, em questão de código, as duas são iguais, mas no decorrer da programação isso pode fazer diferença.
Dá uma olhada nessa discussão do link abaixo, tem exemplo com código, acho que vai ajudar a entender.
https://www.guj.com.br/t/diferenca-entre-agregacao-e-composicao/65609