Perbedaan Antara Metode Overloading dan Overriding

Metode Overloading

Metode overloading, juga dikenal sebagai Function overloading atau Compile time polymorphism, adalah konsep memiliki dua metode atau lebih dengan nama yang sama tetapi tanda tangan berbeda dalam cakupan yang sama. Ada banyak bahasa pemrograman yang mendukung fitur ini: Ada, C ++, C #, D, dan Java.

Contoh Metode Overloading di C #
Seperti yang ditunjukkan pada contoh di atas, metode 'Poligon' kelebihan beban 3 kali dengan tanda tangan metode yang berbeda, yaitu jenis atau jumlah parameter berbeda.

Metode Overriding

Method overriding, juga dikenal sebagai Function overriding atau Run time polymorphism, adalah fitur OOP yang memungkinkan kelas anak untuk memberikan implementasinya sendiri ke metode yang didefinisikan dalam kelas induk. Implementasi di kelas anak menimpa definisi metode di kelas dasar, asalkan metode di kelas anak harus memiliki nama yang sama, tanda tangan dan jenis kembali.

Contoh Metode Overriding dalam C #
Di sini, metode draw di kelas Source2 menimpa metode draw yang didefinisikan di kelas Source1.

Perbedaan Antara Metode Overloading dan Metode Overriding

  1. Dalam Metode kelebihan metode harus memiliki tanda tangan yang berbeda. Dalam metode, metode utama harus memiliki tanda tangan yang sama.
  2. Function Overloading adalah untuk "menambah" atau "memperluas" lebih ke perilaku metode. Fungsi mengesampingkan adalah untuk sepenuhnya "mengubah" atau "mendefinisikan kembali" perilaku metode.
  3. Metode overloading digunakan untuk mencapai waktu kompilasi polimorfisme; Metode overriding digunakan untuk mencapai run-time polymorphism.
  4. Dalam method / function overloading compiler tahu objek mana yang ditugaskan ke kelas mana pada saat kompilasi, tetapi dalam metode overriding informasi ini tidak diketahui sampai runtime.
  5. Function Overloading terjadi di kelas yang sama sedangkan Overriding terjadi di kelas yang berasal dari kelas dasar.
ITU