Perbedaan Overload dan Override

Seperti yang kita ketahui, Karakteristik OOP (Object Oriented Programming) dibagi menjadi 4 yaitu: Abstraction, Encapsulation, Inheritance, dan Polimorphisme. Di dalam penerapan Polimorphisme kita mengenal istilah Overload dan Override, tapi apakah perbedaan dari Overload dan Override?

Overload

Overload yaitu ketika mendefinisikan beberapa method dengan nama yang sama, tapi daftar parameternya berbeda.

Contoh Overload:

class Induk {
  // mendefinisikan method test() tanpa parameter
  public void test() {
    System.out.println("Method di dalam kelas Induk");
  }    

  public void test(String s) {
    System.out.println("Method di dalam kelas Turunan");
    System.out.println("s : \"" + s + "\"");
  }    
 }

Override

Pada saat mendefinisikan suatu method dalam kelas turunan yang memiliki nama dan daftar parameter sama persis dengan yang terdapat pada kelas induk, maka proses tersebut disebut Override.

Contoh Override:

class A {
  ......
   
  public void tampilkanNilai() {
    System.out.println("Nilai a: " + getA());
  }   
}

class B extends A {
  .......
   
  // melakukan override terhadap method tampilkanNilai()
  // yang terdapat pada kelas A
  public void tampilkanNilai() {
    System.out.println("Nilai b: " + getB());
  }   
}

No comments:
Write komentar