Nama S

26 Januari 2024 10:06

Nama S

26 Januari 2024 10:06

Pertanyaan

Sebutkan Perbedaan dari Tipe Static dan Dynamic polymorphism dan berikan contoh program untuk overloading dan overriding

Sebutkan Perbedaan dari Tipe Static dan Dynamic polymorphism dan berikan contoh program untuk overloading dan overriding
 

Ikuti Tryout SNBT & Menangkan E-Wallet 100rb

Habis dalam

01

:

12

:

38

:

39

Klaim

2

2

Jawaban terverifikasi

Salsabila M

Community

31 Maret 2024 07:04

Jawaban terverifikasi

<p>Polimorfisme adalah konsep dalam pemrograman berorientasi objek di mana sebuah objek dapat memiliki banyak bentuk (atau perilaku) yang berbeda dalam waktu yang berbeda. Polimorfisme dapat terjadi baik secara statis (static) maupun dinamis (dynamic). Berikut adalah perbedaan antara keduanya beserta contoh program untuk overloading dan overriding:</p><p>### Static Polymorphism:<br>1. **Overloading**: Terjadi pada saat kompilasi, di mana beberapa metode dalam sebuah kelas memiliki nama yang sama tetapi parameter yang berbeda.<br>&nbsp;&nbsp;<br>Contoh program overloading:<br>```java<br>public class OverloadingExample {<br>&nbsp; &nbsp;// Metode overloading untuk menghitung luas persegi<br>&nbsp; &nbsp;public static int hitungLuas(int sisi) {<br>&nbsp; &nbsp; &nbsp; &nbsp;return sisi * sisi;<br>&nbsp; &nbsp;}<br>&nbsp; &nbsp;<br>&nbsp; &nbsp;// Metode overloading untuk menghitung luas persegi panjang<br>&nbsp; &nbsp;public static int hitungLuas(int panjang, int lebar) {<br>&nbsp; &nbsp; &nbsp; &nbsp;return panjang * lebar;<br>&nbsp; &nbsp;}<br>&nbsp; &nbsp;<br>&nbsp; &nbsp;public static void main(String[] args) {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Luas persegi: " + hitungLuas(5));<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Luas persegi panjang: " + hitungLuas(4, 6));<br>&nbsp; &nbsp;}<br>}<br>```</p><p>2. **Overriding**: Terjadi pada saat kompilasi, di mana sebuah subclass memberikan implementasi ulang terhadap metode yang sudah didefinisikan di superclassnya.<br>&nbsp;&nbsp;<br>Contoh program overriding:<br>```java<br>class Animal {<br>&nbsp; &nbsp;void sound() {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Suara hewan...");<br>&nbsp; &nbsp;}<br>}</p><p>class Cat extends Animal {<br>&nbsp; &nbsp;@Override<br>&nbsp; &nbsp;void sound() {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Meow!");<br>&nbsp; &nbsp;}<br>}</p><p>public class OverridingExample {<br>&nbsp; &nbsp;public static void main(String[] args) {<br>&nbsp; &nbsp; &nbsp; &nbsp;Animal animal = new Animal();<br>&nbsp; &nbsp; &nbsp; &nbsp;animal.sound();<br>&nbsp; &nbsp; &nbsp; &nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp;Cat cat = new Cat();<br>&nbsp; &nbsp; &nbsp; &nbsp;cat.sound();<br>&nbsp; &nbsp;}<br>}<br>```</p><p>### Dynamic Polymorphism:<br>1. **Overriding**: Terjadi pada saat runtime, di mana sebuah metode yang didefinisikan ulang di subclass dipanggil melalui referensi objek superclass.<br>&nbsp;&nbsp;<br>Contoh program overriding (dynamic polymorphism):<br>```java<br>class Animal {<br>&nbsp; &nbsp;void sound() {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Suara hewan...");<br>&nbsp; &nbsp;}<br>}</p><p>class Cat extends Animal {<br>&nbsp; &nbsp;@Override<br>&nbsp; &nbsp;void sound() {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Meow!");<br>&nbsp; &nbsp;}<br>}</p><p>public class DynamicPolymorphismExample {<br>&nbsp; &nbsp;public static void main(String[] args) {<br>&nbsp; &nbsp; &nbsp; &nbsp;Animal animal = new Cat(); // Objek Cat disimpan dalam referensi Animal<br>&nbsp; &nbsp; &nbsp; &nbsp;animal.sound(); // Panggil metode sound(), yang akan memanggil implementasi di Cat<br>&nbsp; &nbsp;}<br>}<br>```</p><p>2. **Tidak ada overloading yang berbasis runtime pada Java. Overloading hanya terjadi pada saat kompilasi.**</p><p>Perhatikan bahwa overloading adalah contoh dari static polymorphism, sedangkan overriding dapat terjadi baik secara static maupun dynamic polymorphism, tergantung pada cara objek dipanggil.</p>

Polimorfisme adalah konsep dalam pemrograman berorientasi objek di mana sebuah objek dapat memiliki banyak bentuk (atau perilaku) yang berbeda dalam waktu yang berbeda. Polimorfisme dapat terjadi baik secara statis (static) maupun dinamis (dynamic). Berikut adalah perbedaan antara keduanya beserta contoh program untuk overloading dan overriding:

### Static Polymorphism:
1. **Overloading**: Terjadi pada saat kompilasi, di mana beberapa metode dalam sebuah kelas memiliki nama yang sama tetapi parameter yang berbeda.
  
Contoh program overloading:
```java
public class OverloadingExample {
   // Metode overloading untuk menghitung luas persegi
   public static int hitungLuas(int sisi) {
       return sisi * sisi;
   }
   
   // Metode overloading untuk menghitung luas persegi panjang
   public static int hitungLuas(int panjang, int lebar) {
       return panjang * lebar;
   }
   
   public static void main(String[] args) {
       System.out.println("Luas persegi: " + hitungLuas(5));
       System.out.println("Luas persegi panjang: " + hitungLuas(4, 6));
   }
}
```

2. **Overriding**: Terjadi pada saat kompilasi, di mana sebuah subclass memberikan implementasi ulang terhadap metode yang sudah didefinisikan di superclassnya.
  
Contoh program overriding:
```java
class Animal {
   void sound() {
       System.out.println("Suara hewan...");
   }
}

class Cat extends Animal {
   @Override
   void sound() {
       System.out.println("Meow!");
   }
}

public class OverridingExample {
   public static void main(String[] args) {
       Animal animal = new Animal();
       animal.sound();
       
       Cat cat = new Cat();
       cat.sound();
   }
}
```

### Dynamic Polymorphism:
1. **Overriding**: Terjadi pada saat runtime, di mana sebuah metode yang didefinisikan ulang di subclass dipanggil melalui referensi objek superclass.
  
Contoh program overriding (dynamic polymorphism):
```java
class Animal {
   void sound() {
       System.out.println("Suara hewan...");
   }
}

class Cat extends Animal {
   @Override
   void sound() {
       System.out.println("Meow!");
   }
}

public class DynamicPolymorphismExample {
   public static void main(String[] args) {
       Animal animal = new Cat(); // Objek Cat disimpan dalam referensi Animal
       animal.sound(); // Panggil metode sound(), yang akan memanggil implementasi di Cat
   }
}
```

2. **Tidak ada overloading yang berbasis runtime pada Java. Overloading hanya terjadi pada saat kompilasi.**

Perhatikan bahwa overloading adalah contoh dari static polymorphism, sedangkan overriding dapat terjadi baik secara static maupun dynamic polymorphism, tergantung pada cara objek dipanggil.


Nanda R

Community

08 April 2024 08:31

Jawaban terverifikasi

<p>Polimorfisme adalah salah satu konsep dasar dalam pemrograman berorientasi objek (OOP) yang mengizinkan objek dari kelas yang berbeda untuk memiliki perilaku yang sama, meskipun kelas-kelas tersebut berbeda secara struktural. Terdapat dua bentuk polimorfisme yang umum, yaitu static polymorphism (polimorfisme statis) dan dynamic polymorphism (polimorfisme dinamis). Berikut adalah perbedaan antara keduanya dan contoh program untuk overloading dan overriding:</p><p><strong>Perbedaan antara Static dan Dynamic Polymorphism:</strong></p><p><strong>Static Polymorphism (Polimorfisme Statis)</strong>:</p><ul><li>Disebut juga dengan Compile-time Polymorphism.</li><li>Perilaku yang terjadi pada saat kompilasi.</li><li>Resolusi metode terjadi saat kompilasi berdasarkan tipe referensi.</li><li>Contoh: Metode Overloading.</li></ul><p><strong>Dynamic Polymorphism (Polimorfisme Dinamis)</strong>:</p><ul><li>Disebut juga dengan Run-time Polymorphism.</li><li>Perilaku yang terjadi saat runtime.</li><li>Resolusi metode terjadi saat runtime berdasarkan tipe objek aktual.</li><li>Contoh: Metode Overriding.</li></ul><p><strong>Contoh Program untuk Overloading (Static Polymorphism):</strong></p><p>public class OverloadingExample {<br>&nbsp; &nbsp;public void print(int num) {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Printing integer: " + num);<br>&nbsp; &nbsp;}</p><p>&nbsp; &nbsp;public void print(double num) {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Printing double: " + num);<br>&nbsp; &nbsp;}</p><p>&nbsp; &nbsp;public void print(String message) {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Printing string: " + message);<br>&nbsp; &nbsp;}</p><p>&nbsp; &nbsp;public static void main(String[] args) {<br>&nbsp; &nbsp; &nbsp; &nbsp;OverloadingExample obj = new OverloadingExample();<br>&nbsp; &nbsp; &nbsp; &nbsp;obj.print(10); &nbsp; &nbsp; &nbsp; // Memanggil metode print(int)<br>&nbsp; &nbsp; &nbsp; &nbsp;obj.print(10.5); &nbsp; &nbsp; // Memanggil metode print(double)<br>&nbsp; &nbsp; &nbsp; &nbsp;obj.print("Hello"); &nbsp;// Memanggil metode print(String)<br>&nbsp; &nbsp;}<br>}<br><strong>Contoh Program untuk Overriding (Dynamic Polymorphism):</strong></p><p>class Animal {<br>&nbsp; &nbsp;public void sound() {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Animal makes a sound");<br>&nbsp; &nbsp;}<br>}</p><p>class Dog extends Animal {<br>&nbsp; &nbsp;@Override<br>&nbsp; &nbsp;public void sound() {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Dog barks");<br>&nbsp; &nbsp;}<br>}</p><p>class Cat extends Animal {<br>&nbsp; &nbsp;@Override<br>&nbsp; &nbsp;public void sound() {<br>&nbsp; &nbsp; &nbsp; &nbsp;System.out.println("Cat meows");<br>&nbsp; &nbsp;}<br>}</p><p>public class OverridingExample {<br>&nbsp; &nbsp;public static void main(String[] args) {<br>&nbsp; &nbsp; &nbsp; &nbsp;Animal animal1 = new Dog();<br>&nbsp; &nbsp; &nbsp; &nbsp;Animal animal2 = new Cat();</p><p>&nbsp; &nbsp; &nbsp; &nbsp;animal1.sound(); // Output: Dog barks<br>&nbsp; &nbsp; &nbsp; &nbsp;animal2.sound(); // Output: Cat meows<br>&nbsp; &nbsp;}<br>}<br>&nbsp;</p>

Polimorfisme adalah salah satu konsep dasar dalam pemrograman berorientasi objek (OOP) yang mengizinkan objek dari kelas yang berbeda untuk memiliki perilaku yang sama, meskipun kelas-kelas tersebut berbeda secara struktural. Terdapat dua bentuk polimorfisme yang umum, yaitu static polymorphism (polimorfisme statis) dan dynamic polymorphism (polimorfisme dinamis). Berikut adalah perbedaan antara keduanya dan contoh program untuk overloading dan overriding:

Perbedaan antara Static dan Dynamic Polymorphism:

Static Polymorphism (Polimorfisme Statis):

  • Disebut juga dengan Compile-time Polymorphism.
  • Perilaku yang terjadi pada saat kompilasi.
  • Resolusi metode terjadi saat kompilasi berdasarkan tipe referensi.
  • Contoh: Metode Overloading.

Dynamic Polymorphism (Polimorfisme Dinamis):

  • Disebut juga dengan Run-time Polymorphism.
  • Perilaku yang terjadi saat runtime.
  • Resolusi metode terjadi saat runtime berdasarkan tipe objek aktual.
  • Contoh: Metode Overriding.

Contoh Program untuk Overloading (Static Polymorphism):

public class OverloadingExample {
   public void print(int num) {
       System.out.println("Printing integer: " + num);
   }

   public void print(double num) {
       System.out.println("Printing double: " + num);
   }

   public void print(String message) {
       System.out.println("Printing string: " + message);
   }

   public static void main(String[] args) {
       OverloadingExample obj = new OverloadingExample();
       obj.print(10);       // Memanggil metode print(int)
       obj.print(10.5);     // Memanggil metode print(double)
       obj.print("Hello");  // Memanggil metode print(String)
   }
}
Contoh Program untuk Overriding (Dynamic Polymorphism):

class Animal {
   public void sound() {
       System.out.println("Animal makes a sound");
   }
}

class Dog extends Animal {
   @Override
   public void sound() {
       System.out.println("Dog barks");
   }
}

class Cat extends Animal {
   @Override
   public void sound() {
       System.out.println("Cat meows");
   }
}

public class OverridingExample {
   public static void main(String[] args) {
       Animal animal1 = new Dog();
       Animal animal2 = new Cat();

       animal1.sound(); // Output: Dog barks
       animal2.sound(); // Output: Cat meows
   }
}
 


Mau pemahaman lebih dalam untuk soal ini?

Tanya ke AiRIS

Yuk, cobain chat dan belajar bareng AiRIS, teman pintarmu!

Chat AiRIS

LATIHAN SOAL GRATIS!

Drill Soal

Latihan soal sesuai topik yang kamu mau untuk persiapan ujian

Cobain Drill Soal

Perdalam pemahamanmu bersama Master Teacher
di sesi Live Teaching, GRATIS!

Pertanyaan serupa

Cermatilah puisi " Aku " Karya CHAIRIL ANWAR benkut ini! Aku Kalau sampai waktuku Ku mau tak seorang kan merayu Tidak juga kau Tak pertu sedu sedan itu Dari kumpulannya terbuang Biar peluru menembus kulitku Aku tetap meradang menerjang Tema puisi di atas adalah.... A. ketekunan dan kemauan seseorang dalam memperjuangan hak dirinya B. kemauan untuk hidup tenang tanpa beban C. kegigihan sesorang dalam mendapatkan cinta sejati D. seseorang yang tidak mau diganggu oleh siapapun E. kepasrahan kepada keadaan yang sedang terjadi

8

5.0

Jawaban terverifikasi

26. Ciri" masyarakat lembaga abad 21 27. 3 pilar fondasi dalam berinteraksi dan dana digital 28. Kemampuan pengangkutan barang dagangan bisa menjadi optimal dan efisien, hal ini merupakan kemajuan teknologi dalam sistem perdagangan di bidang 29. Maksud kartu kredit 30. Manfaat penggunaan teknologi informasi di bidang perdagangan bagi masyarakat 31. Keuntungan menggunakan ATM dan kartu debit dalam pembayaran 32. Prinsip" sistem pembayaran yang di terapkan oleh bank indonesia dan mencegah terjadinya kegiatan praktek monopoli dalam industri sistem perdagangan 33. Tujuan dari lembaga OJK 34. Maksud cek bank 35. Kelebihan uang elektronik sebagai alat pembayaran 36. Penyebab dari rendahnya tingkat presentase penggunaan layanan keuangan di indonesia di bandingkan dengan negara lain di ASEAN 37. Maksud dengan flash livevitate dalam tingkatan kemampuan literasi keuangan 38. Cara meningkatkan akses keuangan digital di indonesia yang masih rendah 39. Maksud dengan while literate 40. Tujuan dari adanya literasi keuangan 41. Penyebab perubahan sosial yang terkait dengan fenomena globalisasi 42. Seringkali terdapat beberapa kesalahpahaman konsep mengenal modernisasi di masyarakat, salah satunya menganggap jika modern adalah dengan 43. contoh perilaku yg bisa kita lakukan dalam kesendirian untuk ikut menjaga tradisi di kearifan lokal Nusantara 44. perubahan sosial merupakan penekanan kondisi teknologi yang menyebabkan perubahan pada aspek tertentu dalam kehidupan sosial manusia, definisi trsbt merupakan pendapat dari siapa 45. perubahan sosial yang berpengaruh kecil terhadap kehidupan manusia 46. fungsi asli uang 47. pengertian lending dlm per bank - an 48. beberapa kegiatan yang dilakukan keuangan 49. sebutkan pengertian dari : 1. asuransi 2. lesing 3.inden 4. sewa 50. peran bank dlm menyalurkan kredit ke nasabah

3

5.0

Jawaban terverifikasi