Polymorphisme adalah salah satu konsep kunci dalam pemrograman berorientasi objek yang memungkinkan objek untuk memiliki berbagai bentuk atau perilaku. Dalam Java, polymorphisme dapat diwujudkan melalui dua mekanisme: polymorphisme compile-time (metode overloading) dan polymorphisme runtime (konsep inheritance dan overriding).
Polymorphisme compile-time terjadi saat terdapat beberapa metode dengan nama yang sama dalam suatu kelas, namun memiliki parameter yang berbeda. Berikut adalah contohnya:
Kelas ' PolymorphismExample ' memiliki tiga metode dengan nama ' add ', masing-masing menerima parameter yang berbeda. Saat metode ' add ' dipanggil, Java akan menentukan metode mana yang harus dieksekusi berdasarkan jumlah atau tipe parameter yang digunakan. Berikut scriptnya:
public class PolymorphismExample {
// Metode overloading
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
public String add(String a, String b) {
return a + b;
}
public static void main(String[] args) {
PolymorphismExample poly = new PolymorphismExample();
// Panggil metode dengan parameter yang berbeda
System.out.println(poly.add(2, 3)); // Output: 5
System.out.println(poly.add(2.5, 3.5)); // Output: 6.0
System.out.println(poly.add("Hello", "Java")); // Output: HelloJava
}
}
Polymorfisme runtime terjadi melalui konsep inheritance dan overriding. Dalam contoh dibawah ini, terdapat kelas induk ' Animal ' dan dua kelas anak ' Dog ' dan ' Cat ' yang mengoverride metode dari kelas induk. Berikut contohnya:
Kelas ' Animal ' memiliki metode ' sound ', dan kelas anak ' Dog ' dan ' Cat ' mengoverride metode ini dengan perilaku yang sesuai. Objek ' myPet ' bisa merujuk pada objek dari kelas ' Dog ' atau ' Cat ', dan saat metode ' sound ' dipanggil, akan dipilih metode yang sesuai dengan jenis objek aktualnya (runtime polymorphisme). Berikut scriptnya:
class Animal {
public void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
public void sound() {
System.out.println("Dog barks");
}
}
class Cat extends Animal {
public void sound() {
System.out.println("Cat meows");
}
}
public class PolymorphismExample2 {
public static void main(String[] args) {
Animal myPet = new Dog();
myPet.sound(); // Output: Dog barks
myPet = new Cat();
myPet.sound(); // Output: Cat meows
}
}
Artikel Lainnya Dengan Kategori Terkait :
1. Belajar Bahasa Pemrogaman Java #01 | Apa Itu Java dan Sejarah Singkatnya
2. Belajar Bahasa Pemrogaman Java #02 | Pengertian dan Keunggulan Java
3. Belajar Bahasa Pemrogaman Java #03 | Pengertian JVM (Java Virtual Machine) dan fungsinya
4. Belajar Bahasa Pemrogaman Java #04 | Pengertian JRE dan JDK
5. Belajar Bahasa Pemrogaman Java #05 | Cara Menginstall Java JDK (Java Development Kit)
6. Belajar Bahasa Pemrogaman Java #06 | Mengatur Setting Path untuk Java JDK
7. Belajar Bahasa Pemrogaman Java #07 | Cara Menjalankan kode Program Java
8. Belajar Bahasa Pemrogaman Java #08 | Melihat Pesan Error Kode Program Java
9. Belajar Bahasa Pemrogaman Java #09 | Cara Menjalankan Java dari Notepad++
10. Belajar Bahasa Pemrogaman Java #10 | Struktur Dasar Kode Program Bahasa Pemrograman Java
11. Belajar Bahasa Pemrogaman Java #11 | Aturan Dasar Penulisan Kode Java
12. Belajar Bahasa Pemrogaman Java #12 | Pengertian dan Cara Penulisan Variabel Bahasa Java
13. Belajar Bahasa Pemrogaman Java #13 | Pengertian dan Cara Pembuatan Konstanta Bahasa Java
14. Belajar Bahasa Pemrogaman Java #14 | Cara Menampilkan Teks di Bahasa Java
15. Belajar Bahasa Pemrogaman Java #15 | Jenis-Jenis Tipe Data dalam Bahasa Java
16. Belajar Bahasa Pemrogaman Java #16 | Tipe Data Integer Bahasa Pemrograman Java
17. Belajar Bahasa Pemrogaman Java #17 | Tipe Data Float dan Double Bahasa Pemrograman Java
18. Belajar Bahasa Pemrogaman Java #18 | Tipe Data Boolean Bahasa Pemrograman Java
19. Belajar Bahasa Pemrogaman Java #19 | Tipe Data Char Bahasa Pemrograman Java
20. Belajar Bahasa Pemrogaman Java #20 | Tipe Data String Bahasa Pemrograman Java
21. Belajar Bahasa Pemrogaman Java #21 | Tipe Data Array
22. Belajar Bahasa Pemrogaman Java #22 | Jenis-jenis Operator
23. Belajar Bahasa Pemrogaman Java #23 | Jenis-jenis Operator Aritmatika
24. Belajar Bahasa Pemrogaman Java #24 | Cara Menampilkan Teks
25. Belajar Bahasa Pemrogaman Java #25 | Jenis-jenis Operator Perbandingan / Relasional
26. Belajar Bahasa Pemrogaman Java #26 | Jenis-jenis Operator Logika
27. Belajar Bahasa Pemrogaman Java #27 | Jenis-jenis Operator Bitwise
28. Belajar Bahasa Pemrogaman Java #28 | Jenis-jenis Operator Assignment
29. Belajar Bahasa Pemrogaman Java #29 | Tipe Percabangan Kondisi IF
30. Belajar Bahasa Pemrogaman Java #30 | Percabangan Kondisi IF ELSE
31. Belajar Bahasa Pemrogaman Java #31 | Percabangan Kondisi IF ELSE IF
32. Belajar Bahasa Pemrogaman Java #32 | Percabangan Kondisi Switch Case Bahasa Java
33. Belajar Bahasa Pemrogaman Java #33 | Perulangan FOR Bahasa Java
34. Belajar Bahasa Pemrogaman Java #34 | Perulangan WHILE Bahasa Java
35. Belajar Bahasa Pemrogaman Java #35 | Perulangan DO WHILE Bahasa Java
36. Belajar Bahasa Pemrogaman Java #36 | Fungsi dan Pengertian Perintah BREAK
37. Belajar Bahasa Pemrogaman Java #37 | Fungsi dan Pengertian Perintah CONTINUE
38. Belajar Bahasa Pemrogaman Java #38 | Jenis-jenis Operator Assignment
39. Belajar Bahasa Pemrogaman Java #39 | Pengertian Function (Fungsi) Bahasa Java
40. Belajar Bahasa Pemrogaman Java #40 | Pengertian Parameter dan Argumen Fungsi Java
41. Belajar Bahasa Pemrogaman Java #41 | Fungsi Perintah Return dalam Function
42. Belajar Bahasa Pemrogaman Java #42 | Pengertian Variable Scope
43. Belajar OOP Bahasa Pemrogaman Java #01 | Pengertian Pemrograman Berorientasi Objek
44. Belajar OOP Bahasa Pemrogaman Java #02 | Pengertian Class, Object, Property dan Method
45. Belajar OOP Bahasa Pemrogaman Java #03 | Cara Membuat Class dan Object
46. Belajar OOP Bahasa Pemrogaman Java #04 | Istilah Property
47. Belajar OOP Bahasa Pemrogaman Java #05 | Cara Membuat Method Bahasa Java
48. Belajar OOP Bahasa Pemrogaman Java #06 | Pengertian Constructor
49. Belajar OOP Bahasa Pemrogaman Java #07 | Cara Membuat Pewarisan Class (Inheritance)
50. Belajar OOP Bahasa Pemrogaman Java #08 | Cara Membuat Multiple Inheritance
51. Belajar OOP Bahasa Pemrogaman Java #09 | Pengertian Method Overidding
52. Belajar OOP Bahasa Pemrogaman Java #10 | Pengertian Method Overloading
53. Belajar OOP Bahasa Pemrogaman Java #11 | Pengertian dan Fungsi Perintah super
54. Belajar OOP Bahasa Pemrogaman Java #12 | Pengertian dan Fungsi Perintah this
55. Belajar OOP Bahasa Pemrogaman Java #13 | Pengertian dan Fungsi Perintah static
56. Belajar OOP Bahasa Pemrogaman Java #14 | Pengertian dan Fungsi Perintah Final
57. Belajar OOP Bahasa Pemrogaman Java #15 | Cara Membuat Package dan Proses Import
58. Belajar OOP Bahasa Pemrogaman Java #16 | Cara Mengakses Class Pada Package Yang Sama
59. Belajar OOP Bahasa Pemrogaman Java #17 | Memahami Batasan Hak Akses (access modifier)
60. Belajar OOP Bahasa Pemrogaman Java #18 | Batasan Hak Akses Private
61. Belajar OOP Bahasa Pemrogaman Java #19 | Batasan Hak Akses Public
62. Belajar OOP Bahasa Pemrogaman Java #20 | Batasan Hak Akses Default
63. Belajar OOP Bahasa Pemrogaman Java #21 | Batasan Hak Akses Protected
64. Belajar OOP Bahasa Pemrogaman Java #22 | Membuat Setter dan Getter
65. Belajar OOP Bahasa Pemrogaman Java #23 | Pengertian Encapsulation Java
66. Belajar OOP Bahasa Pemrogaman Java #24 | Pengertian Polymorphism Java
67. Belajar OOP Bahasa Pemrogaman Java #25 | Pengertian Abstract Class
68. Belajar OOP Bahasa Pemrogaman Java #26 | Pengertian Interface Class
69. Latihan Kode Bahasa Pemrogaman Java #27 | Pola Persegi Bintang
70. Latihan Kode Bahasa Pemrogaman Java #28 | Pola Persegi Panjang Bintang
71. Latihan Kode Bahasa Pemrogaman Java #29 | Pola Segitiga
72. Latihan Kode Bahasa Pemrogaman Java #30 | Menghitung Luas Lingkaran
73. Latihan Kode Bahasa Pemrogaman Java #31 | Menghitung Luas Belah Ketupat
74. Latihan Kode Bahasa Pemrogaman Java #32 | Konversi Suhu Celcius
75. Latihan Kode Bahasa Pemrogaman Java #33 | Konversi Desimal ke Biner
76. Latihan Kode Bahasa Pemrogaman Java #34 | Konversi Biner ke Desimal
77. Latihan Kode Bahasa Pemrogaman Java #35 | Cek Bilangan Prima
78. Latihan Kode Bahasa Pemrogaman Java #36 | Mencari Akar Persamaan Kuadrat
79. Latihan Kode Bahasa Pemrogaman Java #37 | Menghitung Gaji Karyawan
80. Latihan Kode Bahasa Pemrogaman Java #38 | Membuat Menu Berulang
81. Latihan Kode Bahasa Pemrogaman Java #39 | Menampilkan Biodata Mahasiswa
82. Latihan Kode Bahasa Pemrogaman Java #40 | Menghitung Diskon Potongan Harga
83. Latihan Kode Bahasa Pemrogaman Java #41 | Cek Tahun Kabisat
84. Latihan Kode Bahasa Pemrogaman Java #42 | Menentukan Nama Hari
85. Latihan Kode Bahasa Pemrogaman Java #43 | Menentukan Nama Bulan
86. Latihan Kode Bahasa Pemrogaman Java #44 | Menghitung Jumlah Huruf Vokal
87. Latihan Kode Bahasa Pemrogaman Java #45 | Penjumlahan Array
88. Latihan Kode Bahasa Pemrogaman Java #46 | Pencarian Data Array (Searching)
89. Latihan Kode Bahasa Pemrogaman Java #47 | Mencari Nilai Terbesar Array
90. Latihan Kode Bahasa Pemrogaman Java #48 | Mencari Nilai Terkecil Array
91. Memahami Konsep Inheritance (Pewarisan) Dalam Java
92. Mengenal Encapsulation dalam Java
Ahmad Dika Zulfahmi - 18 Februari 2025
Jungler Tank Bisa Kembali? Update yang Bisa Membawa Jungler Tank ke Meta Lagi
Ahmad Dika Zulfahmi - 06 Februari 2025
Setting Sensitivitas Auto Headshot Free Fire Terbaik
Ahmad Dika Zulfahmi - 03 Februari 2025
Flash Sale Minaplay! Top Up Diamond Free Fire Murah & Cepat!