티스토리 뷰

Java

클래스 - 포함(Composite)관계

림디 2020. 3. 26. 12:00

클래스간의 포함관계를 맺어주는 것이란,  한 클래스의 멤버변수로 다른 클래스를 선언하는것을 말한다.

 

Ex// 

class Car{

 

 Enegine m_Engine = new Engine(); 

 Tire[] m_Tier = new Tire[4];

 

}

 

Car 클래스의 단위 구성요소인 Engine과, Tire 같은 클래스를 미지 작성해 놓고 이들을 Car클래스의 멤버 변수로 선언하여 포함관계를 맺어주면, 클래스를 작성하는 것도 쉽고 코드도 간결해진다.

 

 

클래스관의 관계 결정하기

 

상속 관계를 맺어 줄 것인지, 포함관계를 맺어 줄 것인지 결정하는 방법 

 

'~은 ~이다 (is-a)'와 '~은 ~을 가지고 있다(has-a)'를 넣어서 문장을 만들면 클래스간의 관계가 보다 명확해 진다.

 

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

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

 

Ex//

자동차클래스는 엔진클래스를 가지고있다.

자동차클래스는 엔진클래스이다.

 

포르쉐클래스는 자동차클래스는이다.

포르쉐클래스는 자동차클래스를 가지고있다.  

 

 

 

'Java' 카테고리의 다른 글

Object클래스  (0) 2020.03.28
단일 상속(Single inheritance)  (0) 2020.03.27
상속(inheritance)  (0) 2020.03.25
메서드 오버로딩(Method overloading)  (0) 2020.03.24
재귀 호출(recursive call)  (0) 2020.03.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함