Overloading dan Overriding

Assalamu’alaikum Warahmatullahi Wabarakaatuh

Hello guys, kali ini saya akan memberikan apa itu Overloading dan Overriding.





Tanpa nasi basi. Eh basa basi, silahkan dibaca.

Overloading: Kemampuan untuk menggunakan nama yang sama untuk beberapa method yang berbeda parameter (tipe dan atau jumlah).
Contoh:

Overriding: Kemampuan subclass untuk menimpa method dari superclass, yaitu dengan cara menggunakan nama dan parameter yang sama pada method.

 
Class Utama

public class mtk1 {
 protected int hasil;
 void keliling(int panjang)
 {
  hasil=panjang*4;
 }
 void keliling (int panjang, int lebar)
 {
  hasil=2*(panjang+lebar);
 }
 
 void  luas(int panjang){
  hasil=panjang*panjang;
   }
 void  luas(int panjang, int lebar){
  hasil=panjang*lebar;
   } 
 
 
 int gethasil(){
  return hasil;
 }
 
}

Class:
public class mtk2 extends mtk1 {
 void  luas(int panjang){
  super.luas(panjang);
  hasil=panjang*panjang*gethasil();
   }
 void  luas(int panjang, int lebar){
  super.luas(panjang, lebar);
  hasil=panjang*lebar*gethasil();
   } 
 void keliling(int panjang)
 {
  super.keliling(panjang);
  hasil=panjang*4*gethasil();
 }
 void keliling (int panjang, int lebar)
 {
  super.luas(panjang, lebar);
  hasil=2*(panjang+lebar)*gethasil();
 }
}

Class beraksi:
public class mtkberaksi {
 public static void main(String[] args){
  mtk1 math= new mtk1();
  mtk2 mtk = new mtk2();
  System.out.println("Overloading");
  
  System.out.println("Persegi");
  math.keliling(2);
  System.out.println("Keliling Persegi="+math.gethasil());
  math.luas(2);
  System.out.println("Luas Persegi="+math.gethasil());
  
  System.out.println("\nPersegi panjang");
  math.keliling(3,2);
  System.out.println("Keliling Persegi Panjang="+math.gethasil());
  math.luas(3,2);
  System.out.println("Luas Persegi Panjang="+math.gethasil());
  
  
  System.out.println("\nOverriding");
  
  System.out.println("Persegi");
  mtk.keliling(2);
  System.out.println("Keliling Persegi="+mtk.gethasil());
  mtk.luas(2);
  System.out.println("Luas Persegi="+mtk.gethasil());
  
  System.out.println("\nPersegi panjang");
  mtk.keliling(3,2);
  System.out.println("Keliling Persegi Panjang="+mtk.gethasil());
  mtk.luas(3,2);
  System.out.println("Luas Persegi Panjang="+mtk.gethasil());
  }
}


Oke, sekian dari saya terima kasih.