728x90
상속(Inheritance)의 이점
: 상속을 통하여 기존의 객체를 그대로 활용하면서, 새로운 객체에서 추가, 변경되는 부분만 작성함으로 개발 효율을 높일 수 있다.
* 자바에선 오로지 "하나의 부모" 로부터 상속 받을 수 있다. (단일 상속, 다중 상속 허용하지 않음)
* 상위클래스를 상속받아서 하위클래스를 정의하는 방법 → class 하위클래스 extends 상위클래스
* sub class(하위 클래스)에서는 super class(상위 클래스)가 가지고 있는 멤버 변수들은 선언하지 않아도 사용할 수 있다.
* 자바의 모든 클래스는 java.lang.Object로부터 상속 받는다. 그러므로 java.lang.Object는 모든 클래스의 부모 클래스이다.
* 상속에서 생성자 호출 순서
1. 자식 클래스의 생성자에서 명시적으로 부모 클래스의 생성자가 호출되지 않으면, 자동으로 부모 클래스의 "디폴트 생성자"가 호출된다.
2. 자식 클래스의 생성자에서 명시적으로 부모 클래스의 생성자를 호출하기도 한다.
1) super(...) 키워드 사용 → 부모 클래스의 생성자를 호출
2) (주의) super는 항상 제일 처음에 호출되어야 한다.
3) 부모 클래스에 디폴트 생성자가 없는 경우도 있을 수 있다. 그런 경우에는 다른 생성자를 "반드시 명시적으로 호출"해줘야만 한다.
728x90