Dois termos que as pessoas devem aprender no mundo orientado a objetos.
Sobrecarga de métodos (overloading):
Sobrecarga de método permite a existência de vários métodos de mesmo nome, porém com assinaturas levemente diferentes ou seja variando no número , tipo de argumentos , no valor de retorno e até variáveis diferentes. Ficará a cargo do compilador escolher de acordo com as listas de argumentos os procedimentos ou métodos a serem executados.
Sobrescrita de métodos (overriding):
Redefinição de métodos, sobrescrita ou overriding é um mecanismo da programação orientada a objetos. Ele permite que uma subclasse forneça um método que já é fornecido por uma de suas superclasses.
A redefinição ocorre quando um método cuja assinatura já tenha sido especificada recebe uma nova definição (ou seja, um novo corpo) em uma classe derivada.
O mecanismo de redefinição, juntamente com o conceito de ligação tardia, é a chave para a utilização do polimorfismo.
As bancas costumam cobrar estes assuntos e trocar as explicações também.