Override dan Overloading

Override dan Overloading

Overloading


Overloading/Overwriting adalah ketika dalam suatu class yang sama mempunyai beberapa method dengan nama yang sama tetapi dengan parameter yang berbeda.

contoh paling sederhana adalah ketika kita mempunyai method a(String param1, String param2), kemudian ketika kita membuat method dengan nama yang sama dengan jumlah dan type parameter yang berbeda, misal a(int param1, String param2)


Override :
Override adalah ketika suatu class child yang turunan dari class parent. mempunyai beberapa method dengan nama yang sama dengan yang di punya si parent . tetapi dengan implementasi yang berbeda.
Contoh paling sederhana adalah ketika kita mempunyai class interface kemudian kita implements pada class kita, maka class kita wajib mengimplementasikan method method yang sebelum nya telah kita definisikan pada class interface tersebut
berikut contoh code agar bisa lebih jelas di pahami :

class parent
1
2
3
4
5
6
7
8
9
10
11
12
13
package ASN.Coders;
public class Parent {
public String getOverride(){
return "from class parent";
}
public String getOverride(String string){
return string;
}
}
class child

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package ASN.Coders;
public class Child extends Parent{
public String getOverloadClass(){
return "overload method";
}
//overload method
public String getOverloadClass(String string){
return string;
}
@Override
public String getOverride() {
System.out.println("override : diffrent implementation");
return super.getOverride();
}
//this will cause compilation error
@Override
public String getOverride(String string, int i) {
System.out.println(i);
return super.getOverride(string);
}
//this will cause compilation error
@Override
public int getOverride(String string, int i) {
super.getOverride(string);
return i;
}
public static void main(String[] args) {
Child child = new Child();
child.getOverride();
}
}

Komentar