Skip to content Skip to sidebar Skip to footer

#4. Belajar PBO Java : Pengertian Overloading Dan Overriding


"Konsep Dasar Overloading Dan Overriding pada java" Overloading dan overriding merupakan istilah yang sering kita dengar di dalam konsep pemrograman yang berorientasi objek atau pemrograman berorientasi objek.



Overriding dan overloading memiliki manfaat dan kegunaan yang sangat banyak di mana kita dapat membuat sebuah program dengan terstruktur yang baik dan lebih mudah dibandingkan dengan pemrograman prosedural.

#1. Overloading

Konsep Overloading


Lalu apa sih overloading dan overriding pada bahasa pemrograman Java.

Overloading adalah sebuah konsep pemprograman di mana beberapa method dengan nama yang sama pada suatu kelas memiliki parameter yang berbeda.

Yang artinya ketika kita membuat membuat sebuah kelas, dan di dalam kelas tersebut terdapat beberapa method dengan nama yang sama dan memiliki parameter yang berbeda sehingga disebut dengan over loading.

Beri contoh:

Saya memiliki sebuah kelas dengan nama buah, kemudian, di dalam kelas tersebut terdapat dua buah method dengan nama apel.

Pada method yang pertama memiliki 2 buah parameter yaitu nama dan harga

Kemudian pada method yang kedua memiliki 2 parameter yaitu rasa dan warna.

Dari kedua metode tersebut memiliki kesamaan seperti nama yang sama yaitu apel kemudian sama-sama memiliki 2 parameter.

Namun dengan parameter yang berbeda, dan disinilah tempat terjadinya overloading dari kelas buah yang saya miliki.

Syarat Terjadinya Overloading


Ada beberapa syarat yang harus dipenuhi oleh sebuah method untuk dapat dikatakan overloading diantaranya sebagai berikut:

1. Jumlah parameter
2. Tipe data
3. Urutan tipedata

Jadi ketika dua method memiliki nama yang sama maka keduanya harus memiliki jumlah parameter yang beda walaupun tipe datanya sama.

Kemudian jika jumlah parameternya sama maka tipe data dari parameternya harus berbeda, dan jika jumlah parameter sama dan tipe datanya sama, maka paling tidak urutan dari Tipe datanya harus berbeda. Karena jika tidak maka program akan error.

Adapun contoh program sederhana dari penerapan konsep overloading pada pemrograman berorientasi objek pada bahasa Java seperti program dibawah ini:

Contoh program Overloading pada java


#Jumlah Parameter berbeda



Sintax Programa



package overloading;

public class Overloading {
    //OVERLOADING DENGAN JUMLAH PARAMETER
    
    public void penjumlahan(int x, int y){
       System.out.println(x + y);
    }
    
    public void penjumlahan(int x, int y, int z){
        System.out.println(x + y + z);
    }

    public static void main(String[] args) {
        Overloading tambah= new Overloading();
        tambah.penjumlahan(7, 5);
        tambah.penjumlahan(3, 4, 6);
    }
    
}


#Tipe data Berbeda



Sintax Program



package overloading;

public class Overloading {
    //OVERLOADING DENGAN beda tipe data
    
    public void penjumlahan(int x, long y){
       System.out.println(x + y);
    }
    
    public void penjumlahan(long x, int y, double z){
        System.out.println(x + y + z);
    }

    public static void main(String[] args) {
        Overloading tambah= new Overloading();
        tambah.penjumlahan(7, 5);
        tambah.penjumlahan(3, 4, 6);
    }
    
}


#Urutan Tipe Data



Sintax Program


package overloading;
public class Overloading {
    //OVERLOADING DENGAN urutan PARAMETER
    
    public void penjumlahan(int x, double y){
       System.out.println(x + y);
    }
    
    public void penjumlahan(double y, int x){
        System.out.println(x + y);
    }
    
    public static void main(String[] args) {
        Overloading tambah= new Overloading();
        tambah.penjumlahan(7,6.4);
        tambah.penjumlahan(3.3,4);
    }
}



#2. Overriding


Konsep override


Overriding adalah sebuah kondisi dimana method  yang ada di class utama (Parent class) digunakan kembali pada sub class ( class anak).

Overriding sering terjadi ketika menggunkan konsep pewarisan atau enheritance, yang dimana class anak (class child) akan mewarisi sifat dari class induknya ( class parent).

Syarat Utama Konsep Overriding


Ada Beberapa syarat yang harus terpenuhi ketika program dapat dikatakan melakukan override dan menerapkan konsep overriding pada bahasa pemrograman berorientasi pada objek atau objek oriented programming.

#1. Memiliki parameter yang sama


Yang artinya method yang ada pada kelas anak (class child) dan kelas induk (class parent) harus memiliki parameter yang sama.

#2. Hak akses method


Hak akses method pada class anak atau (class child) tidak boleh lebih tinggi dari kelas induknya (class parent).

yang artinya ketika class induk memiliki methode dengan hak akses "public", maka class anak tidak boleh memiliki methode dengan akses yang "private".


Seperti pada contoh di bawah ini :


contoh program paling sederhana overriding java


# Script Program


 
package overriding;
public class Overriding {  
    public static void main(String[] args) {
        Toyota T= new Toyota();
        Mobil M= new Mobil(); 
        Mobil MT= new Toyota();
        
        T.harga();
        M.harga();
        MT.harga();
    }
}

 
package overriding;
public class Mobil {
    public void harga(){
        int harga=200000;
        System.out.println(harga);
    }
}

 
package overriding;
public class Toyota extends Mobil {
    public void harga(){
        int harga=50000;
        System.out.println(harga);
    }
}


# Keterangan Program


Dari contoh program diatas dapat kita lihat bahwa terdapat tiga kelas yaitu kelas overriding yang merupakan kelas utama atau kelas main.

Kemudian ada class mobil dan class Toyota, pada class Toyota akan mewarisi sifat dari class mobil,

Sifat yang dimaksud yaitu seperti method harga, di mana pada class mobil memiliki method harga dengan nilai harga =200.000, sedangkan pada class Toyota terdapat method harga dengan harga =50.000.

Lalu dimana terjadinya overriding .?


Jadi tempat terjadinya override yaitu ketika kita dapat mengakses method harga pada kelas mobil dengan cara mengakses peren kelasnya yaitu kelas toyota.

Dan dari kedua kelas tersebut sama-sama tidak memiliki parameter-parameter kosong namun dapat menampilkan data yang berbeda.