Polymorphism Dalam Belajar Bahasa Pemrograman Java

Apa Itu Polymorphism?

Ketika anda belajar bahasa pemrograman Java, memahami mengenai polymorphism sebagai salah satu konsep penting dari Java selain inheritance, abstraction dan encapsulation adalah hal yang sangat penting.

Polymorphism artinya memiliki banyak bentuk.

Polymorphism pada konsep Object Oriented Programming merupakan proses untuk merepresentasikan satu bentuk ke dalam banyak bentuk.

Ini mungkin terdengar sangat membingungkan, tapi dengan coding, semuanya akan jelas.

 

polymorphism_pada_program_java

Untuk mudahnya, misalkan anda menulis kode seperti ini:

Pada kode di atas, objek Manusia dapat melakukan 3 jenis aktivitas yaitu makan, tidur dan bergerak.

Namun, perlu diingat, aktivitas itu bisa dilakukan juga oleh objek sub class dari class Manusia ataupun class apa saja yang di atasnya terdapat class Manusia yang terkait dalam hirarki inheritance.

Oke, selanjutnya perhatikan kode di bawah ini:

 

Pada kode di atas, karena class Siswa extends dari class Manusia, maka siswa juga adalah manusia, atau Siswa IS-A Manusia, dan objek siswa ini bisa juga makan, tidur dan bergerak.

Kemudian ketika objek siswa dibuat dengan pernyataan:

Artinya, siswa_A merupakan variabel referensi objek dengan tipe Siswa, demikian juga dengan objek yang dibuat merupakan objek Siswa, dinyatakan dengan new Siswa();.

Namun, dengan polymorphism, tipe variabel referensi objek dan tipe objek bisa berbeda.

Contoh:

Apa artinya?

Artinya, tipe variabel referensi merupakan Manusia, sedangkan objek yang dibuat adalah tipe Siswa yang dinyatakan dengan new Siswa(). Dengan kata lain, ini adalah dua tipe yang berbeda!.

Dengan menggunakan polymorphism maka tipe variabel referensi dari tipe objek aktual bisa menggunakan super class.

Perhatikan kode simpel yang terdiri dari beberapa class berikut ini, maka anda akan lebih memahami polymorphism.

Output:

Perhatikanlah kekuatan polymorphism ini, hanya dengan sedikit kode, anda bisa melakukan banyak hal. Dan contoh di atas adalah merupakan array dari polymorphism.

Menggunakan Argumen Dan Tipe Return Polymorphic

Sesuai dengan pembahasan di atas, dengan polymorphism, anda bisa mendeklarasikan variabel referensi dari suatu super class, katakanlah class Manusia dan kemudian menetapkan objek dari sub class misalnya class Siswa pada variabel referensi tersebut.

Nah sekarang, apa yang terjadi jika variabel referensi itu adalah merupakan argumen dari suatu method?

Perhatikan contoh kode simpel di bawah ini:








Output:

Jadi, pada saat runtime, jika anda menulis kode menggunakan argumen polymorphic, di mana anda mendeklarasikan parameter pada method sebagai tipe super class, maka anda bisa mem-pass-kan setiap objek dari sub class pada method tersebut.

Be the first to comment

Leave a Reply

Your email address will not be published.


*