상속의 정의와 장점
상속이란?
: 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것.
장점
: 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여
방법
: 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써준다.
조상 클래스 | 부모클래스, 상위클래스, 기반클래스 |
자손 클래스 | 자식클래스, 하위클래스, 파생된 클래스 |
- 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. |
- 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. |
자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다.
클래스간의 관계
- 포함관계
: 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것
class Circle {
int x;
int y;
int r;
}
class Point {
int x;
int y;
}
* Point 클래스 재사용 > 간결해짐
class circle {
Point c = new Point();
int r;
}
클래스간의 관계 설정하기
상속관계 | '~은 ~이다.' |
포함관계 | '~은 ~을 가지고 있다.' |
단일 상속
: 자바에서는 오직 단일 상속만을 허용한다.
포함과 상속을 이용하여 단일 상속을 극복한다.
Object 클래스
: 모든 클래스의 조상
* 이미 어떤 클래스로부터 상속받도록 작성된 클래스에 대해서는 컴파일러가 'extends Object'를 추가하지 않는다.
'Language > java' 카테고리의 다른 글
Java_Study 객체지향 프로그래밍 (패키지) (0) | 2022.07.04 |
---|---|
Java_Study 객체지향 프로그래밍 (오버라이딩) (0) | 2022.07.04 |
Java_Study 객체지향 프로그래밍 (변수의 초기화) (0) | 2022.07.01 |
Java_Study 객체지향 프로그래밍 (생성자) (0) | 2022.07.01 |
Java_Study 객체지향 프로그래밍 (오버로딩) (0) | 2022.07.01 |
댓글