클래스 간의 관계 결정하기
클래스를 작성할 때 상속관계를 맺어 줄 것인지 포함관계를 맺어 줄 것인지 결정하는 것은 혼란스러울 수 있다.
그럴 때는 ~은 ~이다(is a)와 ~은 ~을 가지고 있다(has a)를 넣어서 문장을 만들어보면 클래스 간의 관계가 명확해진다.
class Circle {
Point p = new Point();
int r;
} // 포함 관계
class Circle extends Point {
int r;
} // 상속 관계
- 원(Circle)은 점(Point)이다.
- 원(Circle)은 점(Point)을 가지고 있다.
이처럼 클래스를 가지고 문장을 만들었을 때 ~은 ~이다라는 문장이 성립한다면 서로 상속관계를 맺어주고 ~은 ~을 가지고 있다는 문장이 성립한다면 포함관계를 맺어 주면 된다.
- 상속관계 - '~은 ~이다.(is a)'
- 포함관계 - '~은 ~을 가지고 있다.(has a)'
[참조] - 남궁 성, JAVA의 정석, 도우출판, 2019
'Java의 정석' 카테고리의 다른 글
Object 클래스 (0) | 2022.03.29 |
---|---|
단일 상속(single inheritance) (0) | 2022.03.28 |
클래스 간의 관계 1 (0) | 2022.03.24 |
상속 (0) | 2022.03.23 |
객체 지향 개념 - 16 변수의 초기화 (0) | 2022.03.22 |