본문 바로가기
프로그래밍 놀이터/Tips

Class Diagram 에 대한 구체적인 내용들.

by 돼지왕 왕돼지 2015. 6. 28.
반응형
Class Diagram 에 대한 구체적인 내용들.

참조 : http://www.nextree.co.kr/p6753/




<< Stereotype >>

-
UML 에서 제공하는 기본 요소 외 추가적인 확장요소.


-
<<stereotype>> 으로 class 이름에 앞서 마킹한다.


-
주로 사용되는 stereotype 은 <<interface>>, <<utility>>, <<abstract>>, <<enumeration>> 등이 있다.


-
interface 의 경우 interface component 가 따로 있어 stereotype 을 사용하지 않아도 되며,
abstract 의 경우도 stereotype 보다는 {abstract} 를 class 나 method 뒤에 붙이는 형태를 사용하는 것이 일반적이라고 한다. ( 일반적인지 검증 필요 )






<< abstract 클래스, 메소드 >>

-
abstract 메소드들은 italic 체로 표기하거나, {abstract} 를 class 이름 다음 혹은 signature 다음에 표기한다.


-
stereotype 으로 abstract 를 표기할 수도 있지만 공식적이지 않다고... ( 검증필요 )






<< 클래스 간의 관계 >>

* Generalization ( 일반화 )

-
상속을 하는 관계일 때 사용


-
실선과 화살표로 구성되어 있으며, 화살표 방향은 부모를 향한다.




* Realization ( 실체화 )

-
interface 를 구현하는 경우에 사용한다.


-
점선과 화살표로 구성되어 있으며, 화살표 방향은 부모를 향한다.









* Dependency ( 의존 )

-
가장 일반적으로 많이 사용되는 형태로, 어떤 클래스가 다른 클래스를 참조하는 것을 말한다.


-
점선과 실선 화살표로 구성되어 있으며, 사용되는 클래스에게 화살표가 향한다.


-
relation 위에 stereo type 으로 어떠한 목적의 dependency 인지 의미를 명시할 수도 있다.
<<create>>, <<local>>, <<parameter>> 등을 사용한다.




* Association ( 연관 ), Directed Association ( 방향성 있는 연관 )

-
다른 객체의 참조를 가지는 필드를 의미한다.


-
실선과 실선 화살표로 구성되는데, 참조되는 쪽이 화살표를 받는다.





* Aggregation

-
한 클래스가 다른 클래스를 포함하는 관계일 때 사용


-
실선과 다이아몬드를 가지고 있고, 포함하는 즉 주가되는 클래스가 다이아몬드를 갖는다.


-
Association 과 크게 구분되는 특성이 아니기 때문에 한 때 deprecated 되기도 했다.
현재도 그렇게 크게 사용되지는 않는 듯하다.




* Composition

-
한 클래스가 다른 클래스에 완전히 종속되는 관계일 때 사용


-
실선과 속이 꽉찬 다이아몬드의 형태를 갖고, 주가 되는 클래스가 다이아몬드를 갖는다.


-
Association 과의 차이점은, Composition 의 경우 그 생명주기가 동일하며, 해당 인스턴스는 공유될 수 없다.
반면 Assocation 은 이런 면에서 꽤나 자유롭다.






반응형

댓글