포함(composite)
- 클래스의 멤버로 참조변수를 선언하는 것
- 작은 단위의 클래스를 만들고 이들을 조합해서 클래스를 만든다

클래스 간의 관계 결정하기
상속관계 ~은 ~이다(is-a)
포함관계 ~은 ~을 가지고 있다(has-a)
대부분 90%이상 포함관계로 만들면 된다

원(circle)은 점(point)이다 circle is a point (x)
원(circle)은 점(point)을 가지고 있다 circle has a point (o)

public class Oop20_composite {

    public static void main(String[] args) {
        //c,c2 객체가 만들어지는 과정 그림으로 그려서 이해하자
        Circle c = new Circle();
        c.x =1;
        c.y =2;
        c.r =3;
        Circle2 c2 = new Circle2();
        c2.c.x = 1;
        c2.c.y = 2;
        c2.r = 3;
    }
}
class Point2{
    int x;
    int y;
}
class Circle extends Point2{ //상속관계
    int r;
}
class Circle2{//포함관계
    Point2 c = new Point2();//참조변수 초기화
    int r;
}
profile
공부하고 기록하는 블로그

0개의 댓글