💻프로그래밍 언어 활용반드시
Java — 상속과 오버라이딩
참조 변수의 타입이 아니라 실제 객체가 메서드를 정한다.
Parent p = new Child(); 일 때, 오버라이딩된 메서드는 Child 의 것이 불린다(동적 바인딩).
필드는 다르다. 필드는 참조 변수의 타입을 따른다.
super 는 상위 클래스를, this 는 자기 자신을 가리킨다. 생성자에서 super() 는 첫 줄에 와야 한다.
추상 클래스는 인스턴스를 만들 수 없고, 인터페이스는 다중 구현이 된다.
바꿔 내는 짝
메서드 호출↔필드 접근
메서드는 실제 객체(Child)를 따르고, 필드는 참조 타입(Parent)을 따른다.
시험에는 이렇게
상속 관계에서 어떤 메서드가 불리는지 묻는 코드 문제가 매회 나온다. 필드는 타입을 따른다는 점이 함정이다.
실기에도 나오는 개념입니다. 실기는 고르는 것이 아니라 적으므로 용어를 글자 그대로 외워 두세요.
확인 문제
이 개념은 실기에도 10문항 나옵니다. 고르는 것과 적는 것은 다르니 실기 탭에서 손으로도 한 번 적어 보세요.