Developer MJ Story

[Software/UML] UML 기본을 알자 - Class Diagram 본문

Software

[Software/UML] UML 기본을 알자 - Class Diagram

집근처 2014. 7. 28. 15:17
반응형

오늘은 UML의 기본인 class diagram과 sequence diagram에 대해 포스팅 하려고 합니다.

저도 SW 전공이 아니어서 UML을 처음 접할 때 어렵게 느꼈는데, 알고 보면 정말 별거 아니라는 것이 함정이죠.

먼저 UML 기본인 class diagram에 대해 설명 드리겠습니다.

 

1 Class diagram 기본

Class diagram을 이해하려면 extends(상속)과 implements(인터페이스)의 개념에 대해 알아야 합니다.

모른다면, UML은 물론 앞으로 객체 지향을 이해할 수 없기 때문에 꼭 개념을 알아야 합니다.

 

Class diagram은 그림입니다. 그림에서 extends, implements를 표현하는 방법은 개발자들 간의 약속한 표현 방법이 있다는 의미이죠.

아래 그림이 UML에서 extends, implements, aggregation을 표현하는 방법입니다.

 

 

다른 것은 다 아실 거라고 생각하고 aggregation에 대해서 간단히 설명 드리면, 해당 인스턴스를 갖고 있다는 의미죠.

이렇게 말만 하면 이해가 어려우니 예를 들어 설명 드리겠습니다.

 

 

Rainbow라는 class에서 color라는 class를 인스턴스로 갖고 있습니다. 이런 관계를 aggregation이라고 합니다.

 

2 Class 접근 제어

변수나 함수 앞에 접근 제어를 표시 한다는 것은 다들 아실 것이라고 생각합니다.

Class diagram에서는 아래 그림과 같이 '-', '#', '+', '~'로 접근 제어를 표시합니다.

 

 

각각이 의미하는 바는 다들 아시겠지만, 다시 한번 정리해보겠습니다.

- Private : class 내부에서만 접근이 가능

# Protected : 동일 package, 하위 class에서 접근 가능합니다.

+ Public : 아무데서나 접근 가능합니다.

~ package : 동일 package만 접근 가능합니다.

 

Class diagram은 SW의 구조, 상호 의존성 등을 파악하기 좋은 UML로 가장 많이 사용하고 있습니다.

Class diagram을 너무 어렵게 생각 말고, SW 구조를 파악하는 용도라고 한정 짓고 보면, 보다 쉽게 이해할 수 있을 것이라 생각합니다.

반응형