포함이란?
- 클래스의 멤버로 참조변수를 선언하는 것
- 작은 단위의 클래스를 만들고, 이들을 조합해서 클래스를 만듬
1 | class Circle { |
2 | int x; |
3 | int y; |
4 | int r; |
5 | } |
6 | |
7 | // 포함, 복잡도가 줄어드는 장점이 있음 |
8 | class Circle { |
9 | Pint c = new Point(); |
10 | int r; |
11 | } |
12 | |
13 | class Point { |
14 | int x; |
15 | int y; |
16 | } |
1 | class Car { |
2 | Engine e = new Engine(); // 엔진 |
3 | Door[] d = new Door[4]; // 문, 문의 개수를 넷으로 가정하고 배열을 처리함 |
4 | } |
5 | |
6 | // Car는 Engine과 Door[]을 포함시킴 |
클래스간의 관계 결정
- 상속관계: ‘~은 ~이다.(is - a)’
- 포함관계: ‘~은 ~을 가지고 있다.(has - a)’
1 | class Circle{ |
2 | Point c = new Point(); |
3 | int r; |
4 | } |
5 | |
6 | // 원(Circle)은 점(Point)이다. X |
7 | // 원(Circle)은 점(Point)를 가지고 있다. O |