Polymorphism adalah: Pengertian dan Tipe Utamanya

How to tekno
·waktu baca 3 menit
Tulisan dari How To Tekno tidak mewakili pandangan dari redaksi kumparan

Saat belajar coding seperti Java, C++, dan Python, Polymorphism adalah istilah yang perlu dipahami oleh programmer pemula.
Perlu kamu ketahui, ada jenis pemrograman yang berorientasipada objek atau sering disebut dengan OOP (Object Oriented Programming). Dalam pemrograman jenis ini memiliki beberapa pilar yang penting.
Pilar-pilar tersebut di antaranya class, object, method, dan inheritance. Dalam konteks pemrograman OOP, istilah Polymorphism sering digunakan karena berkaitan erat dengan salah satu pilar yang sudah disebutkan.
Lantas, Polymorphism Java adalah apa? Untuk menjawab rasa penasaranmu, langsung saja simak penjelasannya dalam artikel berikut ini.
Pengertian Konsep Polymorphism adalah
Secara bahasa, Polymorphism memiliki arti “banyak bentuk” atau “bermacam-macam”. Dalam beberapa textbook di pemrograman, Polymorphism merupakan suatu konsep dimana suatu interface tunggal digunakan pada entity yang berbeda-beda. Biasanya, penggunaan suatu simbol tunggal berfungsi untuk mewakili beberapa jenis tipe entity.
Secara sisi teknis dalam bahasa pemrograman, istilah Polymorphism merupakan konsep menggunakan suatu fungsi atau atribut tertentu dari suatu base class. Nantinya, fungsi tersebut diimplementasikan oleh children class.
Dengan begitu, Polymorphism merupakan penggunaan salah satu item seperti fungsi, atribut, atau interface, pada berbagai jenis objek atau entity yang berbeda.
Tipe-tipe Polymorphisms adalah
Secara umum, ada dua tipe Polymorphism yang digunakan dalam aspek implementasinya, yaitu Static Polymorphism dan Dynamic Polymorphism. Berikut adalah penjelasan dari masing-masing tipe Polymorphism.
1. Static Polymorphism
Salah satu tipe yang dilakukan pada waktu compile, yang bekerja lebih cepat, namun membutuhkan bantuan compiler tambahan.
Contoh penggunaan tipe Static Polymorphism adalah Static Binding, Compile-Time Binding, Early Binding, dan Metode Overloading pada suatu class.
2. Dynamic Polymorphism
Tipe ini dilakukan pada waktu berjalannya program atau runtime.. Implementasi dari Dynamic Polymorphism ini dianggap lebih fleksibel, namun bekerja lebih lambat dari pada tipe pertama.
Contoh dari penggunaan tipe Dynamic Polymorphism adalah Dynamic Binding, Run-Time Binding, Late Binding, Metode Overriding pada class-class yang berbeda.
Perbedaan Tipe Polymorphism
Kedua tipe di atas dibedakan berdasarkan cara pembuatan Polymorphism. Pada tipe pertama menggunakan metode overloading, sedangkan tipe kedua menggunakan metode overriding.
1. Aturan Metode Overloading
Nama metode yang digunakan harus sama dengan metode lainnya.
Parameter yang digunakan juga berbeda.
Return yang digunakan bisa sama atau berbeda.
2. Aturan Metode Overriding
Mode akses metode ini harus sama atau bahkan lebih luas daripada metodenya.
Subclass hanya dapat dan diizinkan melakukan metode ini pada superclass sebanyak satu kali saja. Sehingga, tidak diizinkan apabila lebih dari satu metode yang sama pada class.
Pada setiap subclass tidak diizinkan untuk memiliki hak akses metode overriding yang ketat dibandingkan dengan hak akses metode pada superclass atau pun parent class.
Kesimpulannya, Polymorphism adalah penggunaan salah satu item seperti fungsi dan atribut pada berbagai jenis objek yang berbeda dalam bahasa pemrograman.
(SAN)
