Page 187 - PEMROGRAMAN BERORIENTASI OBJEK 11 GASAL
P. 187
PEMROGRAMAN BERORIENTASI OBJEK
Baris nomor 14 -16 adalah deklarasi metoda cetakObjek yang mempunyai
satu parameter dengan tipe kelas Object. Kelas Object merupakan akar dari
semua kelas di Java. Langsung maupun tidak langsung, semua kelas di Java
merupakan turunan dari kelas Object. Anda dapat memanggil atau
menggunakan metoda cetakObjek dengan argumen berupa obyek yang
dibuat dari kelas turunan superclass Object.
Ketika metoda cetakObjek dipanggil (baris nomor 8 – 11), argumen obyek
akan diminta. obyek sebagai argumen metoda dapat berupa obyek yang
merupakan kelas turunan dari kelas Object yaitu kelas BangunDatar, kelas
PersegiPanjang maupun kelas Balok. Masing-masing kelas turunan
mendeklarasikan ulang metoda toString yang mempunyai implementasi
berbeda. Java Virtual Machine (JVM) akan menentukan secara dinamis
implementasi metode toString yang akan digunakan saat program dijalankan.
Kemampuan menentukan secara dinamis ini disebut dengan dynamic
binding.
Dari gambaran program di atas, apabila parameter sebuah metoda adalah
tipe superclass, maka argumen metoda yang diberikan dapat berupa tipe dari
subclassnya. Kemampuan seperti inilah yang dimaksud dengan
polymorphism. Dari gambaran tersebut, dapat didefinisikan kembali bahwa
polymorphism adalah kemampuan untuk menghasilkan sesuatu yang
berbeda dengan cara yang sama. Pemberian obyek dari subclass ke obyek
dari superclass dapat dilakukan tanpa perlu melakukan konversi.
c. Rangkuman
Polymorphism merupakan salah satu konsep penting dalam object oriented
programming (OOP) khusunya di bahasa Java setelah abstraction dan
inheritance. Polymorphism berarti banyak bentuk.Polymorphism sering
dikaitkan dengan penggunaan lebih dari satu metoda dengan nama sama.
Penggunaan metoda dengan nama sama dapat diterapkan dengan method
overloading dan method overriding. Pada saat obyek yang sudah dibuat
tersebut memanggil overridden method pada parent class, compiler Java
akan melakukan invocation (pemanggilan) terhadap overriding method
pada subclass dimana yang seharusnya dipanggil adalah overridden
method.
172 | Pa g e