Em Java, o que identifica unicamente o método é o nome e a
lista de argumentos.
A técnica de definir métodos de mesmo
nome, com listas de argumentos diferentes é chamado de "method
overloading".
Quando uma classe B define um método
usando o mesmo nome, tipo de retorno e argumentos de um método de uma classe
ancestral A, este método redefine o método da classe ancestral.