상속
- 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
- 자손클래스 extends 조상클래스 ex) class Child extends Parent { }
- 조상클래스 : 상속해주는 클래스
- 자손클래스 : 상속 받는 클래스
- 조상 클래스가 변경되면 자손 클래스는 자동으로 영향을 받게 된다
- 자손 클래스가 변경되는 것은 조상 클래스에 아무런 영향을 주지 못한다.
- 자손 클래스는 조상 클래스의 모든 멤버를 상속받는다. (단, 생성자와 초기화 블럭은 상속되지 않는다.)
- 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.
- 자손클래스의 인스턴스를 생성하면 조상 클래스의 멤버도 함께 생성되기 때문에 따로 조상 클래스의 인스턴스를 생성하지 않고도 조상 클래스의 멤버들을 사용할 수 있다.
클래스 간의 관계 - 포함관계 ( composite)
- 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언 (클래스 재사용)
- 간결, 다른 클래스 작성 시 재사용 가능
클래스 간의 관계 결정
- 포함관계 : ~은 ~을 가지고 있다. (has -a) → 90%이상 대부분 포함관계 사용
- 상속관계 : ~은 ~이다.(is-a) → 꼭 필요한 경우에만 사용
단일 상속
- 자바에서는 단일 상속만 허용 (다중상속 불가)
- Tip : 비중이 높은 클래스 하나만 '상속관계', 나머지는 '포함관계'로 한다.
Object클래스 - 모든 클래스의 조상
- 모든 클래스 상속계층도의 최상위에 있는 조상클래스
- 부모가 없는 클래스는 자동적으로 Object 클래스를 상속받게 된다. (컴파일러 자동추가)
- 자바의 모든 클래스들은 Object 클래스의 멤버들을 상속 받기 때문에 Object 클래스에 정의된 멤버들 사용가능
- Object 클래스의 주요 메서드 : toString( ), equals(Object o) ...
'JAVA' 카테고리의 다른 글
애너테이션(annotation) (0) | 2022.12.19 |
---|---|
열거형(enum) (0) | 2022.12.19 |
컬렉션 프레임웍(collections framework) (0) | 2022.12.19 |
객체지향프로그래밍 (0) | 2022.12.08 |
배열 Array(1) (1) | 2022.12.08 |