Buscar

Method Overloading di dalam Java

Hari ini adalah hari ketiga saya mengikuti pelatihan dasar Bahasa Pemograman Java yang diadakan oleh PT ASABRI (Persero) yang dilatih oleh Pak Hendro Steven (http://hendrosteven.wordpress.com). Jadi inget deh jamannya kuliah :)
Saya mau sharing dari apa yang saya pelajari, salah satunya Method Overloading.
Dalam Java kita boleh memiliki lebih dari satu method yang memiliki nama sama. Inilah yang disebut method overloading. Walaupun Java mengizinkan memiliki nama method sama lebih dari satu, tetapi daftar parameter yang digunakan haruslah berbeda untuk masing – masing method. Karena Java akan menggunakan parameter – parameter ini untuk menentukan method mana yang akan dieksekusi. Untuk lebih jelasnya mari kita buat program sederhananya.
Buat Project dengan nama MethodOverloading. 
Lalu buat class didalamnya dengan nama Manusia.java , isi code di bawah ini
package MethodOverloading;

/**
 *
 * @author Anggun Patriana
 */
class Manusia{ 
    String nama; 
    String jenkel;
    
    void setNilai(String param1){ 
        nama = param1; 
    } 
    
    void setNilai(String param1,String param2){ 
        nama = param1; 
        jenkel = param2; 
    } 
    
    void cetak(){ 
        System.out.println(nama+" adalah "+jenkel); 
    } 
}
Lalu buat class untuk mengeksekusi Manusia.java dengan nama class DemoManusia.java 
package MethodOverloading;

/**
 *
 * @author Anggun Patriana
 */
class DemoManusia{ 
    public static void main(String args[]){ 
        Manusia m1,m2; 
        m1 = new Manusia(); 
        m2 = new Manusia();
        
        m1.setNilai("Anggun"); 
        m2.setNilai("Anggun","Perempuan"); 
        m1.cetak(); 
        m2.cetak(); 
    } 
}
Mengapa java tidak kebingungan untuk menggunakan method yang mana karena namanya sama?
Jawabannya karena java bisa memilih berdasarkan parameter yang dilempar, baik itu type data nya maupun jumlah parameter yang dilempar
Outputnya :
Output Anggun adalah null itu merupakan hasil eksekusi method setNilai yang pertama karena melempar dengan satu parameter dan type data String, sedangkan output Anggun adalah Perempuan mengeksekusi method yang setNilai kedua karena melemparkan 2 parameter. Cukup mudah dipahami kan? Selamat mencoba :)

0 comments:

Posting Komentar