Opa Bruno, tudo bem?
Essa seria uma "desvantagem" da interface, mas veja que agora temos mais flexibilidade para implementá-la em qualquer classe que necessite dos métodos contidos nela, isso sem violar nenhuma regra de negócio.
Caso estivéssemos lidando apenas com classes filhas de Funcionario
, faria sentido usar uma classe FuncionarioAutenticavel
que herda de Funcionario
e possui o método autentica()
. Porém, por conta do Cliente
também precisar ser autenticável, isso quebra a regra de negócio já que não faz sentido ele herdar de FuncionarioAutenticavel
também. Daí a ideia da criação de uma interface com um nome mais genérico que oferece mais flexibilidade.
Espero ter ajudado. Se ficou alguma dúvida é só avisar!
Bons estudos!!