4. 상속과 관계

상속에 대한 기본 이론

  • 객체단위 코드를 재사용(확장 = extends) 하는 문법

  • is-a, has-a 관계로 설명 가능

  • C++ 와 달리 다중 상속은 허용하지 않는다.

  • Java 에서 모든 클래스는 Object 클래스의 파생 클래스이다.

  • 파생 클래스 생성 시 기본 클래스도 함께 생성(생성자 호출) -> 매우 중요!

    • 파생 클래스를 인스턴스화 하면 자동적으로 기반 클래스의 인스턴스까지 내포하게 된다!

    • 보여지는 코드의 인스턴스가 다가 아닐 수 있다..

  • 파생 클래스에서 기본 클래스 메서드 재정의(Override) 가능 -> 중요!

  • 상속관계가 적용될 경우 코드의 흐름이 2차원적 구조를 갖게 되어 감춰지는 경향이 있다.

    • 상속을 통해서 다형적인 구조를 갖게 된다고 생각하자.

상속과 생성자

상속과 생성자 호출스택

  • 파생 클래스 생성자는 가장 먼저 호출되지만 가장 나중에 실행 됨

Last updated