Analisamos em detalhes a sobrescrita de métodos em Java: como o overriding fornece polimorfismo em tempo de execução, em que difere de
overloading, quais regras se aplicam (assinaturas, acesso, exceções, covariância), como usar
@Override e chamar a lógica da classe pai via
super. Mostraremos exemplos práticos e analisaremos erros típicos.