Belajar Bahasa Pemrograman Java: Method Overloading Vs Overriding

Method overloading artinya method dengan nama yang sama, namun mempunyai parameter yang berbeda, dan method ini berada dalam sebuah class yang sama atau sanggup juga berada dalam class yang lain yang terkait dalam hirarki inheritance.

Method overriding artinya memperlihatkan implementasi yang gres dari suatu method pada subclass, jadi method ini berada pada class yang berbeda yang terkait dalam inheritance.

Pada pembahasan sebelumnya sudah dijelaskan mengenai penggunaan method overloading dan juga method overriding.




Method overloading artinya method dengan nama yang sama Belajar Bahasa Pemrograman Java: Method Overloading VS Overriding


Diantara kedua method tersebut terdapat beberapa perbedaan penting yang perlu diketahui, diantaranya adalah:

1.) Dalam method overloading, jumlah dan tipe parameter (termasuk urutannya) atau disebut dengan istilah method signature mengalami perubahan, sedangkan pada method overriding tidak berubah atau tetap.

Contoh:

public class Orang {    void menulis(String s){   System.out.println("Orang menulis");  }  } 


public class Siswa extends Orang {    //Overriding  void menulis(String s){   System.out.println("Siswa menulis");  }    //Overloading  void menulis(String s, int x){   //body method disini  }  } 

2.) Method overloading sanggup dilakukan pada class yang sama, namun overriding hanya sanggup dilakukan pada subclass dengan signature yang sama dan tipe return yang sama. Sedangkan pada overloading, tipe return ini sanggup sama atau berbeda.
Contoh overloading denga tipe return berbeda:

public class Angka {     //tipe return ialah int  //nama method ialah hitung  int hitung(int x){    int y = 20;    int jumlah = x + y;    return jumlah;//int  }     //Overloading  //tipe return ialah double  //nama method ialah hitung  double hitung (int x, double y){   double jumlah = x * y;   return jumlah;//double  }     //Overloading  //tipe return ialah string  //nama method ialah hitung  String hitung(){   double jumlah3 = hitung(20) + hitung (10, 0.5);   String jumlahTotal = buatString(jumlah3);   return jumlahTotal;//string  }     String buatString(double x){   return "jumlah total ialah " + x;  }     public static void main(String[] args) {   Angka angka = new Angka();   System.out.println(angka.hitung());  }    } 


3) Method private, final atau static tidak sanggup di overrride, namun method tersebut sanggup overloading. Artinya suatu class sanggup mempunyai lebih dari satu method private, final atau static dengan nama yang sama, namun sub class tidak sanggup meng-override private, final atau static method tersebut dari super class.

4) Method overloading pada Java terikat oleh static binding sedangkan method overriding merupakan subjek dari dynamic binding.

5) Method overloading terjadi pada ketika compile time sedangkan overriding terjadi pada waktu runtime.

Demikianlah klarifikasi mengenai perbedaan antara overloading dan overriding, biar sanggup bermanfaat.

Belum ada Komentar untuk "Belajar Bahasa Pemrograman Java: Method Overloading Vs Overriding"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel