Java Polymorphism
Polymorphism berarti “banyak bentuk”, konsep ini terjadi ketika kita memiliki banyak class yang saling terhubung satu dan lainnya melalui inheritance (pewarisan).
Seperti yang telah kita bahas pada tutorial sebelumnya, inheritance memungkinkan kita untuk menurunkan/mewariskan atribut dan method dari class lainnya. Polymorphism menggunakan method tersebut untuk melakukan berbagai tugas. Polymorphism memungkinkan kita untuk melakukan satu tindakan dengan berbagai cara berbeda. Polymorphism yang akan dibahas pada artikel ini lebih dikenal dengan konsep method overriding.
Misalnya, superclass bernama Hewan yang memiliki method yang disebut suaranHewan(). Subclass Hewan dapat berupa Tikus, Kucing, Anjing, Burung. Dan mereka juga memiliki implementasi suara masing-masing (Tikus “cit cit”, dan kucing “Weong”, dsb). Contoh:
class Hewan {
public void suaraHewan() {
System.out.println("Hewan bersuara");
}
}
class Tikus extends Hewan {
public void suaraHewan() {
System.out.println("Tikus bersuara : cit cit");
}
}
class Kucing extends Hewan {
public void suaraHewan() {
System.out.println("Kucing bersuara : weong");
}
}
Ingat pada tutorial inheritance bahwa kita menggunakan keyword extends untuk mewarisi atribut dan method dari class lain.
Sekarang, kita telah membuat object Tikus dan Kucing dan memanggil method suaraHewan() untuk keduanya. Contoh :
class Hewan {
public void suaraHewan() {
System.out.println("Hewan bersuara");
}
}
class Tikus extends Hewan {
public void suaraHewan() {
System.out.println("Tikus bersuara : cit cit");
}
}
class Kucing extends Hewan {
public void suaraHewan() {
System.out.println("Kucing bersuara : weong");
}
}
class Main {
public static void main(String[] args) {
Hewan hewanSaya = new Hewan(); // membuat object hewan
Hewan tikusSaya = new Tikus(); // membuat object tikus
Hewan kucingSaya = new Kucing(); // membuat object kucing
hewanSaya.suaraHewan();
tikusSaya.suaraHewan();
kucingSaya.suaraHewan();
}
}
Output :
Hewan bersuara
Tikus bersuara : cit cit
Kucing bersuara : weong
Mengapa dan Kapan Menggunakan Inheritance dan Polymorphism ?
Dua konsep ini sangat berguna untuk menggunakan kembali kode yang sudah kita buat pada suatu class atau menggunakan kembali atribut dan method dari sebuah class yang telah ada ketika membuat sebuah class baru. Konsep polymorphism yang dibahas dalam artikel ini lebih dikenal dengan nama konsep method overriding.
Tutorial sebelumnya : Inheritance Pada Java
Tutorial setelahnya : Java Inner Class
Semua Tutorial JAVA : Tutorial JAVA