Daftar Isi
Pengenalan
Overloading dan overriding adalah dua konsep penting dalam pemrograman berorientasi objek. Kedua konsep ini digunakan untuk memodifikasi perilaku metode dalam kelas-kelas yang berhubungan. Meskipun keduanya terdengar serupa, mereka memiliki perbedaan yang signifikan. Dalam artikel ini, kami akan membahas perbedaan antara overloading dan overriding dalam pemrograman.
Overloading
Overloading adalah teknik dalam pemrograman berorientasi objek di mana beberapa metode memiliki nama yang sama, tetapi memiliki parameter yang berbeda. Dalam overloading, metode yang sama dapat digunakan untuk melakukan tugas yang berbeda tergantung pada tipe atau jumlah parameter yang disediakan. Dalam hal ini, metode-metode dengan nama yang sama mengambil alih nama yang sama, tetapi tanda tangan parameter mereka berbeda. Contoh sederhana overloading adalah metode untuk menghitung luas bangunan dengan parameter berbeda seperti panjang dan lebar, atau panjang, lebar, dan tinggi.
Overriding
Sementara overloading berkaitan dengan metode yang sama dengan nama yang sama tetapi parameter yang berbeda, overriding berkaitan dengan metode yang sama dengan nama yang sama dan parameter yang sama. Overriding terjadi ketika kelas turunan atau subclass mengganti implementasi metode yang diturunkan dari kelas induk atau superclass. Dalam overriding, metode yang sama dengan nama yang sama dan parameter yang sama digunakan untuk memberikan implementasi yang berbeda dalam kelas turunan. Dengan menggunakan overriding, kita dapat memperluas atau mengubah perilaku metode yang diturunkan.
Perbedaan Utama
Ada beberapa perbedaan utama antara overloading dan overriding:
1. Parameter
Overloading melibatkan metode dengan nama yang sama tetapi parameter yang berbeda, sedangkan overriding melibatkan metode dengan nama dan parameter yang sama.
2. Hubungan antara Kelas
Overloading terjadi dalam satu kelas, sementara overriding terjadi antara kelas induk dan kelas turunan.
3. Penggunaan Super Keyword
Dalam overriding, kita menggunakan kata kunci “super” untuk memanggil metode yang diturunkan dari kelas induk. Dalam overloading, penggunaan kata kunci “super” tidak relevan.
4. Hubungan antara Metode
Overloading tidak terkait dengan metode yang diturunkan, sementara overriding terkait dengan metode yang diturunkan dari kelas induk.
5. Poin Penjelasan
Dalam overloading, kita dapat menentukan metode dengan nama yang sama tetapi dengan tipe yang berbeda. Pemanggilan metode tergantung pada parameter yang diberikan. Dalam overriding, kita menimpa metode yang diturunkan dengan implementasi yang berbeda. Pemanggilan metode tergantung pada objek yang digunakan untuk memanggilnya.
Contoh Overloading dan Overriding
Untuk memberikan pemahaman yang lebih baik tentang perbedaan antara overloading dan overriding, berikut adalah contoh kasus:
Contoh Overloading:
public class PersegiPanjang {public int hitungLuas(int panjang, int lebar) {return panjang * lebar;}public int hitungLuas(int panjang, int lebar, int tinggi) {return panjang * lebar * tinggi;}}
Contoh Overriding:
public class Hewan {public void suara() {System.out.println("Suara hewan...");}}public class Kucing extends Hewan {@Overridepublic void suara() {System.out.println("Meow!");}}
Kesimpulan
Dalam pemrograman berorientasi objek, overloading dan overriding adalah dua konsep penting. Overloading melibatkan metode dengan nama yang sama tetapi parameter yang berbeda, sedangkan overriding melibatkan metode dengan nama dan parameter yang sama. Overloading terjadi dalam satu kelas, sedangkan overriding terjadi antara kelas induk dan kelas turunan. Keduanya memiliki perbedaan yang signifikan dalam hal parameter, hubungan antara kelas, penggunaan kata kunci “super”, hubungan antara metode, dan poin penjelasan. Dengan pemahaman yang baik tentang perbedaan ini, Anda dapat menggunakan overloading dan overriding secara efektif dalam pengembangan aplikasi berbasis objek.