Oi Silas, tudo bem ?
Cara o que você tá fazendo se chama polimorfismo, a priori ele não causa tanto impacto assim, na verdade você está criando um objeto especifico e armazenando num objeto mais genérico.
Por exemplo, para entrar no zoologico tem que ser um animal, mas eu posso ter vários tipos de animais.
Passaro, Cachorro, Girafa --> herdam de animal
E para entrar no zoologico :
zoo.recebeAnimal(passaro)
zoo.recebeAnimal(cachorro)
zoo.recebeAnimal(girafa)
Repare que para o zoologico não importa qual é o tipo, mas sim que é um animal