POLIMORFISME, INHERITANCE, OVERLOADING Dan OVERRIDING

Nama: Angga Saputra Dinata

NPM: 19316035

Kelas: TK19a

 

Pengertian Polimorfisme

Polimorfisme terbagi menjadi dua suku kata yaitu, Poly yang berarti banyak dan Morfisme yang berarti bentuk. Dalam ilmu sains, Polimorfisme (polymorphism) adalah sebuah prinsip dalam biologi di mana organisme atau spesies memiliki banyak bentuk serta tahapan (stages). Prinsip tersebut diterapkan juga pada bahasa Java. Polimorfisme dalam OOP merupakan sebuah konsep OOP di mana class memiliki banyak “bentuk” method yang berbeda, meskipun namanya sama. Maksud dari “bentuk” adalah isinya yang berbeda, namun tipe data dan parameternya berbeda.

Polimorfisme juga dapat diartikan sebagai teknik programming yang mengarahkan kamu untuk memprogram secara general daripada secara spesifik. Contohnya kita memiliki tiga class yang berbeda yaitu: “Kelinci”, “Kucing”, dan “Sapi”. Di mana ketiga class tersebut merupakan turunan dari class “Hewan”.

Polimorfisme pada Java memiliki 2 macam yaitu diantaranya:

- Static Polymorphism (Polimorfisme statis).

- Dynamic Polymorphism (Polimorfisme dinamis).

Perbedaan keduanya terletak pada cara membuat polimorfisme. Polimorfisme statis menggunakan method overloading, sedangkan polimorfisme dinamis menggunakan method overriding.

 

Pengertian Overloading

Overloading Merupakan Suatu Function yang memiliki parameter , dan function tersebut dapat memiliki nama function yang sama dengan yang lainnya dengan syarat jumlah parameter mesti berbedaAtau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return value.

Lebih Jelasnya Overloading secara singkat :

- Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda

- Nilai Yang Di Return Harus memiliki Tipe yang sama

 

Pengertian Overriding

Overriding Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas induk

Keuntungan Ketika Overriding Method:

Terdapat keuntungan ketika meng-override method yaitu super class selaku pemilik overriden method, kodenya tidak perlu mengalami perubahan sama sekali, sementara itu di sisi lainnya sub class dapat mengimplementasikan kode tersebut sesuai dengan kebutuhan.

Bisa dibayangkan jika suatu superclass memiliki banyak subclass. Ketika sub class – sub class tersebut perlu untuk menggunakan method dari super class, mereka dapat menggunakannya karena sub class dapat menggunakan method super class pada konsep inheritance.

Dan jika mereka perlu mengimplementasikannya dengan berbeda mereka tinggal meng-override method dari super class tanpa sama sekali menyentuh kode method dari super class.

 

Perbedaan Polimorfisme dengan Inheritance

Polimorfisme, suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan terhadap pesan yang sama sesuai dengan sifat masing-masing obyek. Sedangkan Inheritance merupakan ciri khas dari OOP yang tidak terdapat pada pemrograman prosedural gaya lama. Dalam hal ini, inheritance bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan).

 

Perbedaan  overloading dengan overriding

Diantara kedua method tersebut terdapat beberapa perbedaan, 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.

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.

3.) Method privatefinal atau static tidak bisa di overrride, namun method tersebut bisa overloading. Artinya suatu class dapat memiliki lebih dari satu method privatefinal atau static dengan nama yang sama, namun sub class tidak dapat meng-override privatefinal 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.



UTI

 FTIK

Postingan populer dari blog ini

Sejarah Dan Perkembangan Speaker

Singkronisasi sistem operasi

NORMAL DISTRIBUTIONS