Java 코드연습/상속. 메소드의 관계

[뉴렉처] 참조형식과 호출되는 메소드의 관계

양상추상츄 2021. 10. 31. 00:12

Exam exam = new NewlecExam();

Exam을 먼저참조? 해야 그리고나서 NewlecExam(); 참조가능

 

 

위에 1번은 당연히 4가 출력되고

아래 2번은 앞의 참조형식인 Exam의 total을 먼저 호출하는것이 아니라 오버라이드한

NewlecExam의 total을 먼저 호출한다.

 

참조형식이 무엇이냐에 따라 호출할 수 있는 함수가 결정이 되고

오버라이드한 메소드가 있으면 그 메소드가 먼저 호출된다.

 

 

위의 경우 1번은 4가 출력되고

2번은 오류가 발생된다. 

참조형식이 가지고 있는 메소드에 한해서 생성된 객체의 메소드를 호출할 수 있음

(Exam의 total을 먼저 참고하고 NewlecExam의 total이 호출되는데

Exam의 total이 아예 없기 때문이다. 가지고 있지 않으며 아예 호출자체가 불가능함)

 

 

이 경우 둘다 출력값은 3

Exam의 total이 호출되어 3이 된다