변수는 클래스를 따라서, 메서드는 참조한(인스턴스를 생성한)것을 따라서

Untitled

상속에서 각 참조 예시 3가지

1.부모 타입의 변수가 부모 인스턴스 참조

Untitled

2.자식 타입의 변수가 자식 인스턴스 참조

Untitled

3.다형적 참조: 부모 타입의 변수가 자식 인스턴스 참조

Untitled

문제는 3번 아래를 보자.

부모변수가 자식 인스턴스를 참조한 상황 (반대는 불가능)

Parent poly = new Child() 부모가 자식을 참조한 상황

이렇게 자식을 참조한 상황에서

poly가 자식메서드를 childMethod() 를 호출하면 어떻게 될까?

poly.childMethod();

⇒ 컴파일 오류남.

⇒상속 관계는 부모 방향으로 찾아 올라갈 수는 있지만 자식 방향으로 찾아 내려갈 수는 없다.

중요 포인트는 부모는 자식을 품을 수 있다