Hallo, teman-teman apa kabar? Semoga baik-baik saja ya! Show Pemrograman berorientasi objek atau OOP mempunyai beberapa pilar penting. Hal ini harus kamu pahami. Di antaranya class, object, method, dan inheritance. Dapat kamu lihat dan pelajari pada blog sebelumnya di Apa itu OOP pada Java? Beserta Contohnya. Lalu apa itu Polimorfisme pada Java? Ingin lebih tahu? Mari kita simak langsung penjelasan berikut ini.
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional. Daftar SekarangPengertian PolimorfismePolimorfisme 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”. Sejalan dengan contoh yang diberikan, kamu diharapkan dapat mengerti dan memahami konsep polimorfisme itu sendiri. Polimorfisme pada Java memiliki 2 macam yaitu diantaranya:
Perbedaan keduanya terletak pada cara membuat polimorfisme. Polimorfisme statis menggunakan method overloading, sedangkan polimorfisme dinamis menggunakan method overriding. Jika sebelumnya kamu belum tahu perbedaan antara method overloading dan method overriding, maka kita akan bahasa juga perbedaan dari keduanya. Perbedaan Method Overloading dan Method OverridingBaik teman-teman, method overloading terjadi pada sebuah class yang memiliki nama method yang sama tapi memiliki parameter dan tipe data yang berbeda. Ingat! Intinya dalam sebuah class memiliki method yang sama, namun parameter dan tipe data yang berbeda. Tujuan dari method overloading yaitu memudahkan penggunaan atau pemanggilan method dengan fungsionalitas yang mirip. Aturan Method Overloading
Inilah contohnya. Misal kamu membuat sebuah class dengan nama Cetak.java. Pada class ini mempunyai method maxNumber(). Perhatikan kode program dibawah ini. Kode Lab:
10
Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Polymorphism merupakan kemampuan suatu method untuk bekerja dengan lebih dari satu tipe argumen. Pada bahasa lain (khususnya C++), konsep ini sering disebut dengan method overloading. Pada dasarnya, Python tidak menangani hal ini secara khusus. Hal ini disebabkan karena Python merupakan suatu bahasa pemrograman yang bersifat dynamic typing yaitu tidak memerlukan deklarasi tipe. Polymorphism adalah suatu object dapat memiliki berbagai bentuk, sebagai object dari class sendiri atau object dari superclassnya.
Keuntungan pemograman dengan menggunakan Polymorphism, yaitu :
Polymorphism dapat berarti banyak bentuk, maksudnya yaitu dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda. Pada dasarnya ada 2 tipe polymorphism, yaitu :
Contoh function overloading : Void tambah (int a, int b); Void tambag (float d, float c);
Pure virtual method (tanpa function body) Contoh : virtual void jalan() = 0; Squasi virtual method (ada function body) Contoh : virtual void info() {;} |