Method Overloading di Java

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

KE DAFTAR ISI

 

Leave a Reply

Your email address will not be published. Required fields are marked *