Overloading & Overriding (Java)

Penjelasan Overloading dan Overriding pada Java


Overloading

Metode Overloading merupakan fungsi yang membuat sebuah class mempunyai 2 atau lebih method dengan nama yang sama, dengan parameter yang membedakannnya.

Perbedaan parameter dalam Metode Overloading sebagai berikut :
1.            Jumlah parameter
2.            Tipe data dari parameter
3.            Urutan dari tipe data parameter

Static Polymorphism adalah sebutan lain dari Metode Overloading.

Berikut ini contoh Overloading:

public class OverloadingExample {
public void example (int a, int b){
 System.out.println("Sum 2 number ="+ (a + b));
 }
 //oveloading perbedaan jumlah parameter
 public void example (int a, int b, int c){
 System.out.println("Sum 3 number =" + (a + b + c));
 }
 //overloading perbedaan tipe data parameter
 public void example (double a, int b){
 System.out.println("Sum 2 number (double+int) = "+ (a + b));
 }
 //overloading perbedaan urutan tipe data parameter
 public void example (int b, double a){
 System.out.println("Sum 2 num (int+double) = "+ (a + b));
 }

}

Penggunaan pada class utama :

public class MenuExample {
public static void main(String[] args) {
OverloadingExample exm  = new OverloadingExample();       
exm.example(99,66);
exm.example(33,66,99);
exm.example(66.99,99);
exm.example(66,66.99);
}

}



Overriding

Metode overriding merupakan metode dimana subclass menulis kembali parent class-nya. Overriding memiliki aturan yang meliputi :
1.            Parameter yang terdapat pada metode overriding pada subclass harus sama dengan parameter yang terdapat pada parent class.
2.            Aturan dimana hak akses metode overriding pada subclass tidak boleh lebih private di bandingkan dengan hak akses method pada parent class.

Berikut ini contoh Overriding :

public class AircraftCarrier {
public void movement(){
System.out.println("4-shaft Kampon geared turbines 8 Kampon Type B boilers ");
}
public void mainweapon(){
System.out.println("21 Mitsubishi A6M Zero, 27 Aichi D3A, 27 Nakajima B5N ");
}

}

public class Planes extends AircraftCarrier {
//overriding method parent class
public void movement(){
System.out.println("Nakajima Sakae radial air-cooled engine of 14 cylinders ");
}   
public void mainweapon(){
System.out.println("two 20 mm cannons ");
}
}


public class OverridingExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
AircraftCarrier a = new AircraftCarrier ();
Planes p = new Planes ();
AircraftCarrier ap = new Planes ();
a.movement();
p.mainweapon();
ap.movement();
ap.mainweapon();
}

}

Komentar

Postingan populer dari blog ini

The ITIL Service Lifecycle

Computer Organization and Architecture, 9th Edition Review Questions Chapter 2

Abstract, Concrete Class & Interface (Java)