Java Polymorphism, sebuah konsep yang membawa makna “banyak bentuk”, terjadi ketika kita memiliki banyak kelas yang saling terkait melalui pewarisan. Pewarisan memungkinkan kita mewarisi atribut dan metode dari kelas lain, sementara Polymorphism menggunakan metode-metode tersebut untuk melakukan tugas-tugas yang berbeda. Dalam artikel ini, kita akan mengeksplorasi esensi dari Java Polymorphism dan bagaimana hal ini memungkinkan kita untuk melakukan satu tindakan dengan berbagai cara.
Polymorphism dalam Java memungkinkan kita untuk membuat kode yang lebih fleksibel dan dapat digunakan kembali. Dengan mewarisi sifat dan metode dari kelas yang lebih umum, kita dapat membuat subkelas yang dapat mengimplementasikan metode-metode tersebut sesuai dengan kebutuhan spesifik mereka.
Mari kita ambil contoh sederhana dengan superclass Buah dan beberapa subkelas seperti Apel dan Jeruk. Setiap subkelas memiliki implementasi yang berbeda dari metode rasaBuah():
class Buah {
public void rasaBuah() {
System.out.println("Buah ini memiliki rasa yang khas");
}
}
class Apel extends Buah {
public void rasaBuah() {
System.out.println("Apel memiliki rasa manis dan sedikit asam");
}
}
class Jeruk extends Buah {
public void rasaBuah() {
System.out.println("Jeruk memiliki rasa segar dan asam");
}
}
Dengan menggunakan Polymorphism, kita dapat membuat objek dari kelas-kelas ini dan memanggil metode rasaBuah(), yang akan memberikan output sesuai dengan jenis buah yang diwakili oleh objek.
class Main {
public static void main(String[] args) {
Buah buahUmum = new Buah();
Buah apel = new Apel();
Buah jeruk = new Jeruk();
buahUmum.rasaBuah();
apel.rasaBuah();
jeruk.rasaBuah();
}
}
Apabila kita menjalankan program dengan kelas Main
tersebut, kita dapatkan hasil berikut:
Buah ini memiliki rasa yang khas
Apel memiliki rasa manis dan sedikit asam
Jeruk memiliki rasa segar dan asam
Penting untuk dicatat bahwa metode rasaBuah()
yang dipanggil pada objek Buah
akan memberikan output sesuai dengan implementasinya pada kelas Buah
, sedangkan metode yang dipanggil pada objek Apel
dan Jeruk
akan memberikan output sesuai dengan implementasi masing-masing pada kelas Apel
dan Jeruk
. Ini mencerminkan prinsip Polymorphism di Java, di mana metode yang sesuai dengan jenis objek yang sesuai akan dipanggil pada saat runtime.
Java Polymorphism bukan hanya tentang mengikuti konsep pewarisan, tetapi tentang memberikan kemampuan untuk beradaptasi dan memperluas fungsionalitas. Dengan memahami dan mengimplementasikan Polymorphism, Anda dapat membuat kode yang lebih dinamis dan mudah diubah. Untuk lebih banyak wawasan tentang Java dan pemrograman berorientasi objek, kunjungi BobbyRH’s Java Insights.