[MÚSICA] [MÚSICA] [MÚSICA] [MÚSICA] Si seguimos hablando de métodos, todavía hay un detalle que no hemos platicado y esto es que a veces necesitamos que un método conserve su nombre pero que tenga diferentes argumentos. A este concepto se le llama sobrecarga de métodos o también es mejor conocido como overload. Partiendo de nuestra clase calculadora, la que hemos estado desarrollando, tenemos el método suma, pero podríamos necesitar en algún momento dado también generar la suma de 2 números decimales o 2 números flotantes, o incluso generar una suma de una combinación entre un número entero y un número flotante. Entonces, como observamos por aquí, podemos tener 3 métodos que tienen el mismo nombre, suma, suma, suma. Pero el primero recibe 2 enteros, el segundo recibe 2 flotantes y el tercero recibe un entero y un flotante. Como observas este método se dice que está sobrecargado. ¿Por qué? Porque conserva su nombre pero tiene diferentes argumentos y además de eso, el valor de retorno también es diferente. Entonces, cuando tenemos un método que tiene el mismo nombre repetidas veces, podemos decir que estamos sobrecargando ese método. Además de sobrecargar métodos que están definidos dentro de nuestra clase, ¿te acuerdas de nuestro método constructor? Bueno, también este podemos sobrecargarlo, como puedes observar aquí la sobrecarga de constructores se utiliza para inicializar objetos, ese es su uso adecuado. Veamos nuestra clase teléfono, tenemos declarados primeramente nuestros atributos, y luego tenemos nuestro método constructor. Si no tenemos uno declarado, el compilador nos provee de uno, pero nosotros podríamos también declaralo o indicarlo. En este caso está indicado, está indicado el método constructor para la clase teléfono. Y si observas más abajo, tenemos nuevamente el método constructor teléfono pero ahora este está recibiendo parámetros que son distintos para el antiguo método constructor. El antiguo no tiene ninguno y este tiene 1, 2, 3. El ID, la marca y el precio. En este caso tener un método constructor sobrecargado de esta forma, nos va a ayudar para poder inicializar nuestro objeto cuando lo creamos o cuando lo instanciamos. Es decir, nos puede ayudar para definir que cuando creamos un objeto, como mínimo para que el objeto exista, necesita tener a fuerzas un ID, una marca y un precio. Si el objeto no cumple con esto, no podremos crearlo. Si el objeto no tiene definido un ID, una marca y un precio no podemos crearlo, por eso es importante sobrecargar el método constructor para poder definir nuestro objeto con un mínimo de requerimientos. [MÚSICA] [MÚSICA]