Sobes.tech
Junior

¿Qué debe distinguir a dos métodos para que podamos considerarlos sobrecargados?

sobes.tech AI

Respuesta de la IA

Para que dos métodos se consideren sobrecargados, deben cumplir las siguientes condiciones:

  • Mismo nombre del método. El nombre de los métodos debe ser idéntico.
  • Firma del método diferente. La firma del método incluye el nombre del método y la lista de tipos de parámetros (su cantidad, orden y tipos). El tipo de retorno del método no forma parte de la firma y no afecta la capacidad de sobrecarga.

Ejemplos:

class Example {
    void print(int num) { // Firma: print(int)
        System.out.println(num);
    }

    void print(String text) { // Firma: print(String)
        System.out.println(text);
    }

    void print(int num, String text) { // Firma: print(int, String)
        System.out.println(num + " " + text);
    }

    // Esto no es sobrecarga, ya que la firma print(int) se repite
    // int print(int num) {
    //     return num;
    // }
}

Tabla que ilustra ejemplos de sobrecarga:

Nombre del método Tipos de parámetros ¿Mismos / Diferentes métodos? ¿Es sobrecarga? Razón
calc (int, int) Diferentes Firma diferente (cantidad y tipos de parámetros)
calc (double, double) Diferentes Firma diferente (tipos de parámetros)
calc (int, int, int) Diferentes Firma diferente (cantidad de parámetros)
calc () Diferentes Firma diferente (cantidad de parámetros)
calc (int, int) Mismos No Misma firma
calculate (int, int) Diferentes No Nombre del método diferente