Polymorphism

Polymorphism berarti mempunyai banyak bentuk. Dalam pemrograman OOP dengan java berlaku pada tingkah laku atau metode.

Contoh polymorphism terdapat pada class anjing dan Karnivora di atas. Class anjing merupakan turunan dari class Karnivora. Class Anjing dan Karnivora sama-sama mempunyai metode suara. Metode suara pada class anjing menumpuki metode pada class Karnivora. Dengan kata lain class Karnivora menurunkan metode suara pada anjing, tetapi implementasi dari sifat suara tersebut berbeda.

Ada dua bentuk polymorphism
1. Override
Override merupakan pendefinisian ulang suatu metode oleh subclass. Syarat Override yaitu nama metode, return type, dan parameter harus sama. Jika tidak sama maka bukan dianggap sebagai override tetapi metode yang baru pada subclass.

2. Overload
Overload merupakan pendefinisian ulang suatu metode dalam class yang sama. Syarat overload yaitu nama metode dan tipe parameter harus berbeda dalam class yang sama. Pada class anjing terdapat overload pada metode suara.

public void suara(){
…………
}

public void suara(int keadaan){
…………………………
}

Pada class anjing terdapat 3 metode suara yang sama. 1 metode suara yang diturunkan dari class Karnivora dan 2 metode suara yang didefinisikan ulang pada class anjing.

Tinggalkan komentar