Overloading & Overriding
A. Overloading
Overloading adalah suatu keadaan dimana beberapa method sekaligus dapat
mempunyai nama yang sama, akan tetapi mempunyai fungsionalitas yang berbeda.
Overloading ini dapat terjadi pada class yang sama atau pada suatu parent class dan
subclass-nya. Tujuan dari Overloading itu sendiri adalah untuk memudahkan
pemanggilan atau penggunaan method dengan fungsionalitas yang mirip.
Overloading mempunyai ciri-ciri sebagai berikut:
1. Nama method harus sama
2. Daftar parameter harus berbeda
3. Return type boleh sama, juga boleh berbeda
B. Overriding
Overriding yaitu mekanisme untuk melakukan penindihan/pergantian method
yang sebelumnya sudah didefinisikan pada superclass dengan method yang
sama(nama nya) yang ada di subclass.
Overriding method mempunyai nama method yang sama, jumlah parameter
dan tipe parameter serta nilai kembalian (return) method yang di override.
Ciri-ciri overriding:
1. Nama method harus sama
2. Daftar parameter harus sama
3. Return type harus sama
Berbeda dengan overloading. Jika overloading, kita boleh menuliskan method
yang sama namun dengan jumlah parameter yang berbeda dan nilai kembalian harus
sama. Lain halnya dengan overriding, konsepnya sama dengan overloading yaitu
menulis kembali method. Namun, overriding menulis kembali method sama persis.
Sama mulai dari nama method dan isinya dan mengimplementasi kembali di sub
classnya.
Overriding dipakai saat kita menggunakan method yang sama tapi berbeda
implementasinya. Jadi overriding method mempunyai nama method yang sama,
jumlah parameter dan tipe parameter serta nilai kembalian (return) method yang di
override. Jika method memiliki modifier akses public, method overridenya juga harus
public.
Override method merupakan method yang sama persis dengan method yang
sudah ada di super kelasnya, biasanya perbedaannya adalah pada implementasi
(program body). Overidding tidak bisa dilakukan dalam kelas itu sendiri. Jadi
Overidding kerat kaitannya dengan inheritance (pewarisan).
Contoh implementasi method Overload dan Overriding :
SuperClass
SubClass
Main
Contoh implementasi method Overload dan Overriding :
package tugas;
//Superclass
public class superClass {
public void kali(){
System.out.println("ini hasil dari Perkalian"); }
}
|
|
package tugas;
//subclass
public class Perkalian extends
superClass{
//Overriding
public void kali(int x, int y){
System.out.println((x*y)); }
//Overloading
public void kali(int x, int y, String
a){
System.out.println("Hasil
perkalian ke-2 = "+(x*y) + "\n" + a);
}
}
|
|
package tugas;
import
java.util.Scanner;
public class main {
public static void main(String
[] args){
System.out.println("pilih salah satu");
System.out.println("1. Overloading");
System.out.println("2. Overriding ");
Scanner input = new
Scanner(System.in);
int inputan1 = input.nextInt();
if (inputan1==1){
System.out.println("Overloading");
Perkalian pp = new Perkalian();
//Overloading
pp.kali();
pp.kali(5,5);
pp.kali(5,5," perkalian");
System.out.println("Ciri-cirinya: ");
System.out.println("1. Nama method harus sama \n2. Daftar parameter harus
berbeda \n3. Return type boleh sama, juga boleh berbeda ");
}
if (inputan1==2){
System.out.println("Overriding");
Perkalian pp1 = new
Perkalian();
//Overriding
pp1.kali(5,5);
System.out.println("Ciri-cirinya:
");
System.out.println("1.Nama
method harus sama \n2. Daftar parameter harus sama \n3. Return type harus
sama ");
}
}
}
|

0 komentar:
Posting Komentar