포함(Composite)

클래스의 멤버로 참조변수를 선언하는 것

 

1번은 Point 클래스와 관계없음

2번은 Circle가 Point를 포함하는 관계

1번과 같이 해도 되지만 2번과 같이 해도됨

 

 

차라는 클래스를 만들때 엔진과 문같은 부품을 포함관계로 만들면 복잡도가 낮아지게 된다

class Car {
    Engine e = new Engine();
    Door[] d = new Door[4];
}

 

코드

class MyPoint {
    int x;
    int y;
}

class Circle  { // 포함
    MyPoint p = new MyPoint();
    int r;
}


public class InheritanceTest {
    public static void main(String[] args) {
        Circle c = new Circle();
        c.p.x = 1;
        c.p.y = 2;
        c.r = 3;
        System.out.println(c.p.x);
        System.out.println(c.p.y);
        System.out.println(c.r);
    }
}
반응형

+ Recent posts