java study

#22 포함(composite) 관계

MonkeyonMars 2022. 6. 12. 00:15

 

※ 시작하기 앞서  java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고
    공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다.

 

 

포함(composite)

 

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

작은 단위의 클래스를 만들고, 이 들을 조합해서 새로운 클래스를 만든다.

 

Circle이 Point 클래스를 포함하고 있다.

 

 

 

 클래스 간의 관계 결정하기

 

상속관계  '~ 은 ~ 이다 . ( is- a) '

포함관계  '~ 은 ~ 을 가지고 있다. (has - a)'

 

상속은 여러가지 제약이 많기 때문에 꼭 필요한 경우에만 쓴다.

 

Ex)

 

class MyPoint {
	int x;
	int y;
}

//class Circle extends MyPoint{
//	int r ;
//}

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

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

}

Console

c.x=2
c.y=0
c.r=3

 

 

▶참고자료  https://youtu.be/oJlCC1DutbA