Qual a vantagem de usar
Funcionario gerente1 = new Gerente();
em vez de
Gerente gerente2 = new Gerente();
se a minha referencia é do tipo funcionário, ela não enxergaria métodos específicos da classe Gerente. Sendo assim não consigo entender a vantagem em declarar desta forma sendo que eu perco os metodos específicos da classe q eu instanciei. Instanciar referencias assim (Gerente1), ele seria executado conforme um objeto Gerente(), porem os metodos exclusivos de Gerente() seria perdidos e não poderia ser usados. Qual a vantagem?
Eu achei que no video o professor deu um exemplo e explicou outra coisa, ou foi só impressão minha?