Belajar Bahasa Pemrograman Java: Method Overloading VS Overriding

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

Method overriding artinya memberikan implementasi yang baru 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.

 

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:

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

Contoh overloading denga tipe return berbeda:

3) Method private, final atau static tidak bisa di overrride, namun method tersebut bisa overloading. Artinya suatu class dapat memiliki lebih dari satu method private, final atau static dengan nama yang sama, namun sub class tidak dapat 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 saat compile time sedangkan overriding terjadi pada waktu runtime.

Demikianlah penjelasan mengenai perbedaan antara overloading dan overriding, semoga bisa bermanfaat.

Be the first to comment

Leave a Reply

Your email address will not be published.


*