본문 바로가기
백엔드/Java

자바 객체 지향 디자인 패턴 맛보기 2탄

by david100gom 2019. 10. 19.

클래스 다이어그램

  • 클래스

    • 클래스란 동일한 속성과 행위를 수행하는 객체의 집합

  • 관계

    • 연관관계 (association) : 클래스들이 개념상 서로 연결되었음을 나타낸다. 실선이나 화살표로 표시하며 보통은 한 클래스가 다른 클래스에서 제공하는 기능을 사용하는 상황일때 표시한다.

      • 단방향 연관 관계 (unidirectional association)

      • 양방향 연관 관계 (bidirectional association)

        • 다대다 연관 관계는 자연스럽게 양방향 연관 관계가 되므로 구현하기가 생각보다 복잡하다. 따라서 보통 다대다 연관 관계를 일대다 단방향 연관 관계로 변환해 구현한다.

    • 일반화 관계(generalization) : 객체지향 개념에서는 상속 관계라고 한다. 한 클래스가 다른 클래스를 포함하는 상위 개념일때 이를 IS-A 관계라고 하면 UML에서는 일반화 관계로 모델링한다. 속이 빈 화살표를 사용해 표시한다.

    • 집합 관계(composition, aggregation) : 클래스들 사이의 전체 또는 부분 같은 관계를 나타낸다. 집약(aggregation) 관계 와 합성(composition) 관계가 존재한다.

    • 의존 관계(dependency) : 연관 관계와 같이 한 클래스가 다른 클래스에서 제공하는 기능을 사용할 때를 나타낸다. 차이점은 두 클래스의 관계가 한 메서드를 실행하는 동안과 같은, 매우 짧은 시간만 유지된다는 점이다. 점선 화설표를 사용해 표시한다.

    • 실체화 관계 (realization) :책임들의 집합인  인터페이스와 이 책임들을 실제로 실현한 클래스들의 사이의 관계를 나타낸다. 상속과 유사하게 빈 삼각형을 사용하며 머리에 있는 실선 대신 점선을 사용해 표시한다.

 

참고서적 : 객체지향 디자인 패턴 (http://www.yes24.com/Product/Goods/12501269)

댓글