전공공부/컴퓨터 일반

상속, 오버로딩, 오버라이딩 문제

tiit 2020. 7. 2. 21:46
반응형

class ClassP{
int func1(int a, int b) {
return a+b;
}
int func2(int a, int b) {
return a-b;
}
int func3(int a, int b) {
return a*b;
}
}

public class ClassA extends ClassP {
int func1(int a, int b) {
return a%b;
}
double func2(double a, double b) {
return a*b;
}
int func3(int a, int b) {
return a/b;
}
public static void main(String[] args) {
ClassP p = new ClassA();
System.out.println(p.func1(5,2));
System.out.println(p.func2(5,2));
System.out.println(p.func3(5,2));

}

}

 

9. 다음 Java 프로그램의 출력 결과는?

     

 

 

P.func2 가 3인 이유는 변수형이 달라서 오버로딩 해서 ClassP에 있는 메서드  a-b를 실행한거다 

반응형