Konsep OOP Polymorphism

Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang menggunakan konsep objek untuk merancang dan mengorganisir kode. Salah satu konsep utama dalam OOP adalah polimorfisme. Polimorfisme memungkinkan suatu objek untuk memiliki banyak bentuk atau perilaku yang berbeda. Dalam pembahasan ini, kita akan menjelajahi konsep polimorfisme dalam OOP dengan lebih rinci.

Definisi Polimorfisme:

Polimorfisme berasal dari bahasa Yunani yang berarti "banyak bentuk." Dalam konteks OOP, polimorfisme mengacu pada kemampuan suatu objek untuk merespons metode atau operasi dengan cara yang sesuai dengan tipe objek tersebut. Ada dua bentuk utama polimorfisme dalam OOP: polimorfisme compile-time (static) dan polimorfisme runtime (dynamic).


1. Polimorfisme Runtime (Dynamic):

  • Terkait dengan konsep overriding.
  • Subclass menyediakan implementasi yang berbeda untuk metode yang telah dideklarasikan di superclass.
  • Pemilihan metode terjadi saat runtime berdasarkan objek yang sebenarnya dibuat.
  • Contoh dalam Java:




Penjelasan:

1. Kelas `Enemy`: Menyediakan metode `attack()` dengan implementasi default, yaitu mencetak "Lawan sedang menyerang!".

2. Kelas `Pasukan`: Merupakan turunan dari `Enemy` dan melakukan overriding pada metode `attack()`. Ketika objek `Pasukan` dipanggil, metode `attack()` yang dicetak adalah "Pasukan sedang bertempur!".

3. Kelas `Sekutu`: Merupakan turunan dari `Enemy` dan juga melakukan overriding pada metode `attack()`. Ketika objek `Sekutu` dipanggil, metode `attack()` yang dicetak adalah "Sekutu sedang membantu!".

4. `main` Method: Pada `main` method, tiga objek dibuat: `e1` dari kelas `Enemy`, `e2` dari kelas `Pasukan`, dan `e3` dari kelas `Sekutu`.

5. Saat memanggil metode `attack()` untuk setiap objek, Java secara otomatis memilih implementasi yang sesuai dengan tipe objek yang sebenarnya. Hal ini menunjukkan polimorfisme pada waktu runtime.

Dengan menggunakan polimorfisme, kita dapat memperlakukan objek dari kelas turunan sebagai objek dari kelas dasar dan memanggil metode yang sesuai dengan implementasi pada kelas turunan tersebut.


2. Polimorfisme Compile-Time (Static):

  • Terkait dengan konsep overloading.
  • Kompiler memilih metode yang sesuai berdasarkan jumlah dan tipe parameter.
  • Contoh dalam Java:

 





Keuntungan Polimorfisme:

1. Fleksibilitas Kode: Polimorfisme membuat kode lebih fleksibel, karena objek dapat memiliki banyak bentuk atau perilaku.

2. Pemeliharaan Kode: Dengan polimorfisme, perubahan dalam satu bagian kode tidak selalu memerlukan perubahan pada bagian lainnya, asalkan antarmuka tetap sama.

3. Mempermudah Perluasan: Penerapan polimorfisme memudahkan penambahan fungsionalitas baru tanpa mengubah kode yang sudah ada.

Kesimpulan:

Polimorfisme adalah salah satu konsep penting dalam OOP yang memungkinkan fleksibilitas, pemeliharaan kode, dan perluasan fungsionalitas. Dengan memahami dan menerapkan polimorfisme, pengembang dapat meningkatkan desain dan modularitas kode mereka.


Referensi:

https://socs.binus.ac.id/2021/12/12/object-oriented-programming-polymorphism/ 

Komentar

Postingan populer dari blog ini

Membuat Form Menggunakan JSP NetBeans