Perbedaan Method Overloading dan Method Overriding di Java

Perbedaan Method Overloading dan Method Overriding di Java

Pada konsep mengenai polimorfisme (polymorphism) di mana sebuah class turunan (subclass) dapat memiliki sifat yang berbeda dengan class induknya (superclass). Singkatnya, polimorfisme memungkinkan kita melakukan hal yang sama dengan berbagai cara yang berbeda. Polimorfisme di Java dapat dilakukan menggunakan method overloading dan method overriding.

Perbedaan yang mendasar antara method overloading dan method overriding bisa dijabarkan sebagai berikut:

Method OverloadingMethod Overriding
Digunakan untuk meningkatkan keterbacaan (readability) kode programDigunakan untuk memberikan implementasi spesifik dari method yang sudah ada di class induk (superclass)
Diterapkan pada class yang sama (2 atau lebih method dengan nama yang sama, pada class yang sama)Diterapkan pada 2 class yang berbeda yang memiliki hubungan pewarisan (inheritance)
Parameter pada method overloading harus berbeda, baik pada jumlah atau tipe datanya.Parameter pada method overriding harus sama
Merupakan contoh compile-time polymorphism.Merupakan contoh run-time polymorphism
Di Java, overloading tidak bisa dilakukan hanya dengan mengubah tipe data nilai kembalian (return type) dari method saja. Jika mengubah tipe data nilai kembalian, maka parameter harus diubah juga.Tipe data nilai kembalian (return type) harus sama atau kovarian

Leave a Reply

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