Ao invés de criar um método getAlunos que devolve um Set<> posso criar usando Collection<>. Penso que seria uma forma genérica, e que vai ao encontro com o que o professor tem ensinado. No entanto não sei afirmar se usar a Collection<> é a melhor opção neste caso. Alguém saberia me informar
public Collection<Aluno> getAlunos() {
return Collections.unmodifiableCollection(alunos);
}