Repaso
English
Java CoreBaseJV-13

¿Cuál es la diferencia entre overloading y overriding de métodos?

Opciones

  1. Overload: mismo nombre, otros parámetros. Override: la subclase reemplaza (Opción correcta)
  2. Son solo dos nombres para la misma funcionalidad
  3. El overloading necesita herencia; el overriding funciona en una clase
  4. El overriding cambia los parámetros; el overloading, el tipo de retorno

Respuesta

Overloading: mismo nombre, distintos parámetros en la misma clase. Overriding: una subclase reemplaza un método del padre con la misma firma

Por qué

Overloading: varios métodos con el mismo nombre pero distintas listas de parámetros, por ejemplo print(int) y print(String). El compilador elige el que coincide en tiempo de compilación.

Overriding: una subclase ofrece su propia versión de un método heredado con el mismo nombre y parámetros, normalmente con @Override. La JVM elige en tiempo de ejecución según el tipo real del objeto (polimorfismo).

Recuerda

Overload = mismo nombre, otros parámetros. Override = reemplazar en una subclase.

Términos clave

Practica esta pregunta en Repaso