O que o @andredecotia disse é um grande “depende”. De uma maneira genérica, as classes Player e Inimigo são relacionamentos do tipo associação, isto é, objetos da classe Player e Inimigo se relacionam com objetos da classe Main. De outra forma, pode-se dizer que os objetos da classe Player e Inimigo estão habilitados a trocar mensagens com objetos da classe Main por serem membros de Main. Se detalharmos mais como essa associação ocorre, percebemos que os objetos das classes Player e Inimigo agregam valor a objetos a classe Main. Logo, o todo (classe Main) precisa das partes (classes Player e Inimigo) para ser completamente especificada. Essa relação todo parte é necessária para as partes? Ou seja, se não existir nenhuma instância (objeto) da classe Main, os objetos da classe Player e Inimigo deixam de existir ou fazer sentido no sistema? Se um objeto m da classe Main for ‘extinto’, os objetos p e i que estavam a ele vinculados deverão ser ‘extintos’ junto com m? E se p e i forem ‘extintos’, m também deverá obrigatoriamente ser extintos? Somente respondendo a essas perguntas pode-se detalhar a agregação para definir se ele é uma composição.
A agregação é uma associação em que uma classe é detalhada (tem parte de suas informações, ou seja, atributos) por outras classes. No entanto, esse detalhamento não é necessário ao todo para que ele exista no modelo (e no sistema), não é uma necessidade. Por outro lado, e da mesma forma, as partes do todo existem (fazem sentido) no modelo (e no sistema) sem estarem vinculadas ao todo. Explico: suponhamos duas classes: Banco e Cliente. Se o banco b1 ‘falir’ os seus clientes deixam necessariamente de ser clientes de banco, ou podem passar a ser clientes do banco b2? Parece justo supor que sim. De outra forma, se o cliente c7 encerrar a sua conta no banco b2, o banco b2 necessariamente irá falir? Também parece razoável que não. Logo, entre o banco e seus clientes, existe uma relação de agregação. Na composição, por sua vez, que o todo deixar de existir ele deve excluir também as suas partes ou, se as partes forem extintas, o todo necessariamente será extinto. na composição é uma relação direta entre as instâncias. Suponhamos que temos a classe Casa e a classe Parede. A casa é um agregado de paredes, mas essa agregação é essencial, necessária à casa. Logo, a casa é uma composição de paredes. Se a casa c1 tiver as paredes p1, p2, p3 e p3, se o objeto c1 for extinto, as pardes deverão necessariamente ser extintas. Não dá para colocar as paredes p1, p2, p3 e p4 na casa c12. Da mesma forma, mas sobre outro ponto de vista, se as paredes forem demolidas, a casa como um todo vem a baixo.
Resumo da opera: pelo exposto, só dá para detalhar até o nível de agregação a associação entre as classes Main, Player e Inimigo. Nesse caso específico, creio eu a existência de Main se justifica simplesmente para testar as classes Player e Inimigo.
Já sobre a visibilidade private, o que foi dito está correto.