class OverloadTest {
public static void main(String[] args) {
Sub.add(10,10);
Sub.add(10.0, 10.0);
}
}
class Super {
public static int add(int a, int b) {
return a+b;
}
}
class Sub extends Super {
/* 오버라이드 적용*/
public static int add(int a, int b) {
System.out.println(a+"+"+b+"="+(a+b));
return a+b;
}
/* 오버로드 적용*/
public static double add(double a, double b) {
System.out.println("add_double");
return a+b;
}
/* 오버라이드가 적용된 것도 아니고, 오버로드가 적용된 경우도 아니면서
* 동일한 이름의 메소드를 선언할 수는 없다. 그러므로 에러발생
*/
public static String add(int a, int b) {
return a+b+"";
}
}