가자미의 개발이야기
[프로젝트 설계] 클래스 다이어그램 본문
클래스와 메소드 표현
메서드는 public (+), protected(-), private (#) 로 접근지정자 표현
클래스와 인스턴스 표현
FishBread 클래스의 인스턴스 표현
클래스 사이의 관계 표현
연관 관계와 의존 관계는 모두 객체를 생성하는 관계이다.
연관 관계는 멤버 변수로 참조하고 의존 관계는 메서드로 참조한다는 점이 다르다.
연관 관계
연결된 선으로 표현, 역할에 따른 관계 추가 가능
연관 관계의 다중성
클래스 사이에 연관 관계를 맺는 객체의 수가 1개 이상 인 경우
1은 기본값이므로 표시 안해도 괜찮음
집합 관계와 복합 관계
집합 관계 : 하나의 객체가 여러 개의 독립적 객체로 구성
복합 관계 : 집합보다는 좀 더 강한 관계로 구성, 단독 사용 불가, 반드시 슈퍼 클래스와 사용.
일반화 관계
한 종류로 묶을 수 있는 관계.
의존 관계
하나의 클래스가 다른 클래스를 사용해 영향을 미치는 관계
영향을 일으키는 쪽이 화살표를 받음(점선)
조건 : 다른 클래스의 객체를 인자로 받은 메소드를 사용하는 경우, 메서드 내부에 다른 클래스의 객체를 생성하여 사용하는 경우, 다른 클래스의 메서드가 또 다른 클래스의 객체를 반환하는 경우
실체화 관계
추상 클래스나 인터페이스를 상속받아 구현할 때 사용
클래스 이름을 이탤릭체로 표시, <<abstract>>로 표기
클래스 추출
명사는 클래스나 속성, 동사는 메서드로 처리.
명사 (클래스나 속성) : 배구선수, 점수, 세트, 경기, 공격수...
동사 (메서드) : 토스, 스파이크, 리시브, 이긴다...