반응형
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 은 이런 면에서 꽤나 자유롭다.
참조 : 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 은 이런 면에서 꽤나 자유롭다.
반응형
'프로그래밍 놀이터 > Tips' 카테고리의 다른 글
git 을 이용하여 svn repository 사용하기. (0) | 2016.04.24 |
---|---|
SVN 을 사용하면서 git 처럼 local commit 후에 searver 로 push 할 수 있나요? (0) | 2016.04.23 |
git commit message 수정 방법 (0) | 2015.03.22 |
Unity 5.0 출시 && 전면 무료화 선언!! (2) | 2015.03.22 |
getter / setter 장단점 (0) | 2015.02.12 |
댓글