Metod overloading adalah kemampuan membuat lebih dari satu method dengan nama yang sama. Tapi ada syaratnya yaitu data parameter dari method yang sama namanya tersebut harus berbeda. Misalkan ada method bernama hitung, satunya bertipe data int, satunya lagi bertipe data float. Supaya lebih jelas, kita buat kelas bernama MethodOverloading, lalu ketikkan sintaks di bawah ini:
public class MethodOverloading { public static void main(String[] args) { } //deklarasi method bernama ucapanHalo static void ucapanHalo(){ System.out.println("Hallo, selamat Datang"); } static void ucapanHalo(){ System.out.println("Hallo, Welcome"); } }
Karena ada dua method dengan nama yang sama dan parameter yang sama maka akan terjadi error. Tapi jika kita buat seperti di bawah ini:
public class MethodOverloading { public static void main(String[] args) { ucapanHalo(); //memanggil method yang tidak memiliki parameter ucapanHalo("Pauzan"); //memanggil method yang memiliki parameter nama ucapanHalo("Pauzan", "Indramayu"); //memanggil method yang punya parameter nama dan alamat } //deklarasi method bernama ucapanHalo, tanpa parameter static void ucapanHalo(){ System.out.println("Hallo, selamat Datang"); } //deklarasi method bernama ucapanHalo, parameter nama bertipe string static void ucapanHalo(String nama){ System.out.println("Hallo " + nama); } //deklarasi method bernama ucapanHalo, parameter nama dan alamat, kedunya bertipe string static void ucapanHalo(String nama, String alamat){ System.out.println("Hallo " + nama + " dari " + alamat); } }
Jika kita run maka hasilnya adalah:
Hallo, selamat Datang //method yang tanpa parameter Hallo Pauzan //method dengan nama sebagai parameter Hallo Pauzan dariIndramayu //method dengan nama dan alamat sebagai parameter
PREVIOUS: Variabel argument dari method
NEXT: Recursive Method