Otras lecciones del Curso de Java
¿Qué es IO en Java?
¿Cúales son los Operadores en Java?
¿Qué tipos de Variables hay en Java?
¿Cómo funciona Continue y Break en Java?
¿Cómo aplicar un Try Catch y Finally en Java?
¿Cómo utilizar el método super en Java?
¿Cómo trabajar con listas en Java?
¿Cuáles son los métodos de la clase String en Java?
¿Qué es un entorno de desarrollo en Java?
¿Qué es la Sobreescritura de métodos en Java?
¿Cómo utilizar un return en Java?
¿Cómo hacer un Hola Mundo en Java?
¿Cómo utilizar Throw y throws en Java?
¿Cómo hacer comentarios en Java?
¿Cuáles son las Palabras reservadas en Java?
Variables de entorno en Java
Características y estadísticas de Java e índice TIOBE
Estructura de proyecto, paquetes y clases en Java
Qué es una función en Java
¿Cómo funcionan las Funciones Java?
Operadores aritméticos en Java
Operadores de comparación en Java
Funciones anónimas en Java
Cómo invocar una función en Java
Atajos de teclado para IntelliJ
Operadores lógicos en Java
Debug en Java
Como se crea una función en Java
¿Cómo crear Sentencias Switch en Java?
Bucles for en Java
¿Cómo hacer sentencias If e If else en Java?
¿Cómo funcionan los Bucles While en Java?
¿Qué son los objetos en Java?
¿Qué es el modificador static en Java y cómo se utiliza?
¿Qué es la herencia en Java?
¿Qué son los constructores en Java y cómo se utilizan?
¿Cómo crear clases en Java?
¿Qué es el Polimorfismo en Java?
¿Qué son las Clases Abstractas en Java?
¿Qué es la Programación genérica en Java?
¿Qué son las Interfaces de Java?
Implementación de una interface en Java
¿Cómo se hace refactoring en Java?
¿Cómo trabajar con Maps en Java?
¿Como funcionan los arrays en Java?
¿Cómo generar excepciones en Java?
¿Qué es la clase Scanner en Java?
Introducción a Swing en Java
¿Quieres descubrir más cosas como Sobrecarga de funciones en Java?¡Apuntate a nuestro campus y empieza a aprender con nosotros y con toda la comunidad!

Hoy hablaremos de la sobrecarga de métodos en Java.

Se le llama sobrecarga de funciones o métodos a la creación de varias funciones dentro de nuestro programa, que tienen el mismo nombre, pero sus argumentos son distintos y realizan distinta acción.

¿Cómo funciona la Sobrecarga de Funciones en Java?

Es posible porque Java nos permite utilizar la sobrecarga, y la ventaja principal de esta es la flexibilidad a la hora de usar un método ya creado, pero con diferente tipo de datos, para obtener otro resultado.

Dependiendo de los tipos y la cantidad de argumentos, Java puede identificar cuál de los métodos existentes debe utilizar.

Esto significa que para sobrecargar una función o método, al llamarla debemos cambiar el tipo y / o número de argumentos, este proceso se conoce como method overloading.

La importancia de la sobrecarga radica en poder relacionar los métodos a través de un nombre común, aunque cumplan distintas funciones.

Que debemos tener en cuenta para sobrecargar un método en Java:

  • Se debe cambiar la lista de argumentos.
  • Se puede cambiar el tipo de retorno.
  • Puede ser sobrecargado en la misma clase o en una subclase.

Pero no solo podemos sobrecargar métodos o funciones normales, también podemos sobrecargar métodos Constructores, de hecho es esto lo más común.

Si tenemos un método constructor con tres parámetros, las declaraciones que hagamos de nuestros objetos precisarán que les pasemos tres parámetros, pero tal vez, necesitemos que algún objeto tenga una cantidad distinta de parámetros, eso lo solucionamos aplicando sobrecarga al constructor. 

Básicamente sobrecargar significa definir nuevos métodos con parámetros distintos para ampliar las funcionalidades del método original, manteniendo la calidad en el código, reutilizando las funciones, sin extender la cantidad de líneas en nuestro programa.

No debemos confundir sobrecarga con sobreescritura, la diferencia fundamental entre estos dos conceptos es que la sobrecarga no implica herencia, aunque puede haberla y la sobreescritura sí.

La condición para el uso de sobrecarga de métodos, consiste en que no debe haber dos de ellos con el mismo número y tipo de parámetros.

Llegados a este punto debemos decirte que en nuestro campus tenemos los cursos de Java Básico y Java Avanzado a tu disposición, de manera gratuita para siempre.

Lo puedes hacer a tu ritmo y luego trabajar de ello, ya que te ayudamos y acompañamos en la preparación para la búsqueda laboral desde Openbootcamp.

Para dar un cierre a la idea del uso de sobrecarga de métodos, resta decir que una sobrecarga de funciones o métodos manejados dentro de la misma clase, nos pone de cara al concepto de Polimorfismo por sobrecarga, que es la capacidad que puede tener una clase para determinar su comportamiento dependiendo de qué método sobrecargado use.

Ejemplo de sobrecarga de métodos en Java

public class Coche{
   //Atributos
   String marca;
   int año;

   //Métodos
   //Método Constructor
   public Coche(String marca){
       this.marca = marca;
   }

   // Método Constructor Sobrecargado
   public Coche(String marca, int año){
       this.marca = marca;
       this.año = año;
   }

   // Método modelo
   public void modelo(){
       System.out.println("La marca es  "+marca+", y no tiene modelo");
   }

   // Método modelo sobrecargado
   public void modelo(String modelo){
       System.out.println("La marca es  "+marca+", y el modelo es de  " +modelo);
   }
}



public class Main {
   public static void main(String [] args) {
       //Creamos dos objetos coche y utilizamos el método modelo

       //Utilizamos el primer constructor
       Coche coche1 = new Coche( "Mercedes");

       //Utilizamos el primer método
       coche1.modelo();

       //Uso del constructor sobrecargado
       Coche coche2  = new Coche("Fiat", 2009);

       //Uso del método sobrecargado
       coche2.modelo("Sandero");
   }
}
¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: