Menu
CoddyTech

Sobrecarga de métodos

Parte de la sección Fundamentos del Journey de Java de Coddy. Lección 54 de 73.

En Java, la sobrecarga de métodos te permite definir varios métodos con el mismo nombre, pero con parámetros diferentes. Esto significa que puedes tener varios métodos que realizan una función similar, pero que operan con distintos tipos de datos o con un número diferente de argumentos.

La clave es que cada método sobrecargado debe tener una firma de método única. La firma del método está determinada por el nombre del método y el tipo y el orden de sus parámetros.

Estas son las reglas clave para la sobrecarga de métodos:

  1. Mismo nombre: Todos los métodos sobrecargados deben tener el mismo nombre.
  2. Parámetros diferentes: Cada versión del método debe tener un número diferente de parámetros, tipos de parámetros diferentes o ambas cosas.
  1. El tipo de retorno no es suficiente: los métodos sobrecargados no pueden diferenciarse únicamente por su tipo de retorno. Deben tener listas de parámetros diferentes.

Aquí tienes un ejemplo para ilustrar la sobrecarga de métodos:

public class MathUtils {
    public static int add(int a, int b) {
    	return a + b;
    }

	public static double add(double a, double b) {
		return a + b;
	}

	public static int add(int a, int b, int c) {
		return a + b + c;
	}
}

En este ejemplo, tenemos tres métodos llamados add. El primero suma dos números enteros, el segundo suma dos números de doble precisión y el tercero suma tres números enteros.

Java determina qué método debe llamar en función de los argumentos que se pasan durante la llamada al método.

Cuando ningún método sobrecargado coincide exactamente con los tipos de los argumentos, Java elige aquel al que puede llegar mediante una conversión implícita de ampliación. Por ejemplo, con display(int a) y display(double a), la llamada display(5.0f) usa la versión double, porque un float se amplía a double, pero no puede convertirse en un int sin una conversión explícita.

La sobrecarga de métodos hace que el código sea más legible y reutilizable. En lugar de crear nombres diferentes para métodos que realizan tareas similares (por ejemplo, addInts, addDoubles, addThreeInts), puedes usar un único nombre, add, y dejar que el compilador elija el método adecuado según el contexto.

Recuerda: la sobrecarga requiere tipos o cantidades de parámetros diferentes, no solo nombres de parámetros o tipos de retorno diferentes.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Java online