Olá...
Estou com a mesma dúvida levantada no tópico: https://cursos.alura.com.br/forum/topico-instancia-do-objeto-tipo-funcionario-diferencia-do-tipo-diretor-72139
Não consegui comentar lá, então abri outro tópico.
Eu entendo que um objeto diretor tem todos os atributos e métodos da classe Funcionario, mas não consegui entender quando que será útil declarar uma instância de Diretor em um tipo Funcionario, como segue:
Funcionario diretor = new Diretor();
Se a declaração fosse feita assim:
Diretor diretor = new Diretor();
ainda assim o diretor teria todos os métodos e atributos da classe Funcionario, pois um diretor é um funcionário, não?