4. 상속과 관계
상속에 대한 기본 이론
객체단위 코드를 재사용(확장 = extends) 하는 문법
is-a, has-a 관계로 설명 가능
C++ 와 달리 다중 상속은 허용하지 않는다.
Java 에서 모든 클래스는
Object
클래스의 파생 클래스이다.파생 클래스 생성 시 기본 클래스도 함께 생성(생성자 호출) -> 매우 중요!
파생 클래스를 인스턴스화 하면 자동적으로 기반 클래스의 인스턴스까지 내포하게 된다!
보여지는 코드의 인스턴스가 다가 아닐 수 있다..
파생 클래스에서 기본 클래스 메서드 재정의(Override) 가능 -> 중요!
상속관계가 적용될 경우 코드의 흐름이 2차원적 구조를 갖게 되어 감춰지는 경향이 있다.
상속을 통해서 다형적인 구조를 갖게 된다고 생각하자.
상속과 생성자
상속과 생성자 호출스택
파생 클래스 생성자는 가장 먼저 호출되지만 가장 나중에 실행 됨
Last updated