1. 상속의 정의와 장점
- 정의: 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
- 장점: 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 기여
- 구현 방법: 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써준다.
Ex)
class Child extends Parent { }
- 조상클래스와 자손 클래스
- 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다.
- 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.
- 조상 클래스가 변경되면 자손 클래스는 자동적으로 영향을 받게 된다.
(자손 클래스가 변경되는 것은 조상 클래스에 영향 없음)
- 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버도 함께 생성되기 때문에 따로 조상 클래스의 인스턴스를 생성하지 않고도 조상 클래스의 멤버들 사용 가능
2. 클래스간의 관계 - 포함관계
- 포함(Composite)관계
한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것
3. 클래스간의 관계 결정하기
- 상속관계: '~은 ~이다.(is-a)'
- 포함관계: '~은 ~을 가지고 있다.(has-a)'
4. 단일 상속
- java는 단일 상속만을 허용함
- 둘 이상의 클래스는 상속 받지 못함
5. Object클래스 - 모든 클래스의 조상
- Object클래스는 모든 클래스 상속계층도의 최상위에 있는 조상클래스
- 다른 클래스로부터 상속 받지 않는 모든 클래스들은 자동적으로 Object클래스로부터 상속받게 함
(코드를 컴파일 하면 컴파일러는 자동적으로 'extends Object'를 추가)
java의 정석 chapter7