Ch7-2~3. 포함
0. 목차
Chapter7. 객체지향 프로그래밍Ⅱ
Ch7 - 3. 클래스 간의 관계 - 포함관계
Ch7 - 4. 클래스 간의 관계 결정하기
Ch7 - 3. 클래스 간의 관계 - 포함관계
▶ 포함(composite)이란?
▷ 클래스의 멤버로 참조변수를 선언하는 것
▷ 작은 단위의 클래스를 만들고, 이들을 조합하여 클래스를 만듦
class Car {
Engine e = new Engine(); // 엔진
Door[] d = new Door[4]; // 문, 문의 개수를 넷으로 가정하고 배열로 처리
}
엔진이나 도어 클래스를 만들어 포함시켜 사용함으로 복잡도↓
▶ 원을 그리는 두가지 방법
▷ 클래스만 사용
class Circle {
int x;
int y;
int r;
}
- 객체로 만들었을 때
Circle c = new Circle();
▷ 포함 사용
class point {
int x;
int y;
}
class Circle {
point c = new Pint();
int r;
}
- 객체로 만들었을 때
Circle c = new Circle();
▶ 실습
▷ 상속으로 원의 중심과 반지름 출력
class point {
int x;
int y;
}
class Circle extends point {
int r;
}
class Act {
public static void main(String[] args) {
Circle c = new Circle();
c.x = 1;
c.y = 2;
c.r = 3;
System.out.printf("원의 중심 : (%d, %d)\n", c.x, c.y);
System.out.printf("반지름 : %dcm" ,c.r);
}
}
// console
원의 중심 : (1, 2)
반지름 : 3cm
▷ 포함으로 원의 중심과 반지름 출력
class point {
int x;
int y;
}
class Circle {
Point p = new Point();
int r;
}
class Act {
public static void main(String[] args) {
Circle c = new Circle();
c.p.x = 1;
c.p.y = 2;
c.r = 3;
System.out.printf("원의 중심 : (%d, %d)\n", c.p.x, c.p.y);
System.out.printf("반지름 : %dcm" ,c.r);
}
}
// console
원의 중심 : (1, 2)
반지름 : 3cm
Ch7 - 4. 클래스 간의 관계 결정하기
▶ 상속관계
▷ A는 B이다(is)
▶ 포함관계
▷ A는 B를 가지고 있다(has)
- 원은 점이다 : X
- 원은 점을 가지고 있다 : O → 포함
class Circle { Point c = new Point(); int r; }