[디자인패턴 수업 5주차] 클래스 다이어그램

Jin Hur·2021년 10월 5일
0
post-custom-banner

Class Diagram

  • Type of static structure diagram
  • 클래스, 속성, 메서드 그리고 객체간의 관계를 보여준다.

    다이어그램 계층도


Class

Represented as square box contains three components

  • 클래스 이름
  • 속성
  • 메서드

Prefix(Access privileges)

  • +: public
  • -: private
  • #: protected
  • ~: package

public class Person{
}

public class Book{
	private String title;
}

public class Car{
    // 속성
    private SteeringWheel 핸들;
    private Wheel 바퀴;
    private Engine 엔진; 
    // 메서드
    public void 전진(){
    	...
    }
    public Boolean 멈춤(){
    	...
    }

관계(Relationships)

예시1

예시2

두번째 그림에서 사람은 도서관 회원일수도, 아닐수도 있으므로 0..1로 표현한다.

Aggregation(집합), Composition(구성)

집합관계(Aggregation): 도서관이 사라져도 책이 사라지는 것은 아니다.
다른 표현으로, 도서관 객체가 메모리에 사라진다 해도 책 객체가 메모리에서 사라지는 것은 아니다.

구성관계(Composition): 비행기는 반드시 2개의 날개가 필요하다.
비행기 객체가 메모리에서 사라지는 것은 곧 날개 객체도 메모리에서 사라진다는 것을 의미.

Dependency(의존)

1) 메서드 내에서 대상 클래스의 객체 생성
2) 객체 사용
3) 메서드 호출
4) 객체 리턴
5) 매개변수로 해당 객체를 받는 것
.. 등
다른 클래스의 객체를 참조한다.
연관과의 큰 차이점은 이 참조를 유지하지 않는다는 것이다.
(연관은 보통 다른 클래스의 객체 참조를 필드로 가지고 있는 것을 의미)

Inheritance(상속), Realization(구현)


Association class

post-custom-banner

0개의 댓글