UML을 처음 알게 되었던 것은 클라이언트 프로그래머를 준비하기 위해 학원을 다니면서였다. 하지만 그때는 깊게 공부를 하지 않았었다. UML의 사용의 이유정도 였다. 딱히 필요성도 느끼지 못했었다. 10개월 동안 업무를 진행하면서 필요성을 조금 느꼈다. 그래서 다시 사이트를 검색하며 공부/정리하게 됐다.

1. UML 

Unified Modeling Language의 약자이다. 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어이다. 산출물을 만들때 미리 설계해 검증할 수 있으며 이것은 곧 문서화가 되게 된다. 문서화가 되면서부터 UML의 사용 이유가 생기게 된다.

  • 작성한 코드의 구조를 한눈의 볼 수 있다.
  • 추 후 유지보수의 대응이 빠르다.

그렇다고 모든 코드를 작성할 때마다 UML을 만들 필요는 없어 보인다. 실제로 작성하는 코드보다 UML의 문서화가 시간이 더 오래 걸릴 수 있기 때문이다.

 

2. 클래스 간의 관계도 표시방법

1. Generakization(일반화 관계) : 부모 클래스와 자식 클래스 간의 상속관 계를 나타낼 때.

2. Realization (실체화) :  인터페이스를 구현하는 관계를 표현한다.

3. Association (연관 관계) : 한 객체가 다른 객체를 소유하거나, 참조하여 사용할 때, 단방향과 양방향이 존재한다.

 

- Aggregation (집합) : 약한 결합, 연결된 클래스와 독립적으로 동작된다. 메인클래스가 삭제될 시 대상 클래스는 같이 삭제가 안된다.

 - Composition (합성) :  Aggregation보다 강한 결합으로 이루어져 있어 라이프 사이클이 같아(같이 사라짐) 독립적이면 의미가 없다.

4. Dependency (의존 관계) :  서로의 객체를 소유하지는 않지만, 객체의 변경이 이루어질 때 따라서 같이 변경을 해주어야 할 때 사용한다. 대상 클래스를 생성해주고 바이바이

 

 

 

반응형

+ Recent posts