클래스 간의 관계 - 포함관계
상속 이외에도 클래스를 재사용하는 또 다른 방법이 있는데 클래스 간에 포함(composite) 관계를 맺어 주는 것이다. 클래스 간의 포함관계를 맺어 주는 것은 한 클래스의 멤버 변수로 다른 클래스 타입의 참조 변수를 선언하는 것을 뜻한다.
class Circle {
int x; // 원점의 x좌표
int y; // 원점의 y좌표
int r; // 반지름
}
class Point {
int x; // x좌표
int y; // y좌표
}
원을 표현하기 위한 클래스와 좌표상의 한 점을 다루기 위한 Point 클래스를 위와 같이 작성되어 있다고 가정한다.
class Circle {
Point c = new Point(); // 원점
int r;
}
한 클래스를 작성하는데 다른 클래스를 멤버 변수로 선언하여 포함시키는 것은 좋은 생각이며 하나의 거대한 클래스를 작성하는 것보다 단위별로 여러 개의 클래스를 작성한 다음 이 단위 클래스들을 포함관계로 재사용하면 보다 간결하고 손쉽게 클래스를 작성할 수 있다.
'Java의 정석' 카테고리의 다른 글
단일 상속(single inheritance) (0) | 2022.03.28 |
---|---|
클래스 간의 관계 2 (0) | 2022.03.25 |
상속 (0) | 2022.03.23 |
객체 지향 개념 - 16 변수의 초기화 (0) | 2022.03.22 |
객체 지향 개념 - 15 this() (0) | 2022.03.21 |