일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 디자인 패턴
- 딥러닝
- 파이썬 경사하강법
- MLP
- C# 프로젝트
- 인공지능
- 경사하강법
- 머신러닝
- 대학원 월급
- 인공지능 깃 버전관리
- DCP
- 의료 ai 대학원 월급
- 로스트아크
- 대학원 급여
- 자바
- 디자인패턴
- 영화 api
- Dehaze
- API
- 백준
- 활성화 함수
- pandas
- 통계학
- 자바 프로젝트
- python
- 파이썬
- 코딩테스트
- 자바 영화 api
- 딥러닝 실험 깃 버전관리
- 정규화
- Today
- Total
대학원 일기
4장 클래스 다이어그램 본문
클래스 다이어그램
구성요소
클래스 구성요소 : 클래스 이름, 속성, 메소드
메소드(접근 지정자) 종류
public(+) : 패키지의 내부, 외부 등 모든 클래스에 접근 가능
private(-) : 같은 클래스 내부 멤버에 의해 접근 가능. 즉, 외부로부터 모든 접근 차단
protected(#) : 같은 패키지 내의 모든 클래스에서 접근 가능하며 다른 클래스에서도 상속받는 경우 접근 가능
클래스(class)
- 공통의 속성, 메소드(operation), 관계, 의미를 공유하는 객체들의 집합
속성(attribute)
- 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있느 값의 범위를 기술
메소드(method)
- Operation이라고도 함
- 이름, 타입, 매개변수들과 연관된 행위를 호출하는데 요구되는 제약사항들을 명세하는 클래스의 행위적 특징
객체와 클래스
객체 : 실제 현실에서 존재하는 사물을 의미
클래스 : 객체들을 추상화한 개념
클래스 추출
명세서를 통한 클래스 추출 : 배구선수, 점수, 세트, 경기
명세서를 통한 객체 추출 : 리베로, 센터, 공격수
명세서를 통한 메소드 추출 : 토스, 스파이크, 리시브, 이긴다, 진다, 올라간다
명세서(시나리오) 상에서 추출
명사 <- 클래스나 속성
동사 <- 메소드
클래스 간의 관계
연관 관계
- 클래스가 서로 개념적으로 연결된 선(그냥 선)을 의미
- 서로 개념적으로 연관없는 클래스는 없으므로 의존, 상속, 집합, 복합 등의 관계와 같이 표시하는 건 별로 중요치 않음
연관 관계의 다중성
다중성 : 두 클래스의 연관관계에서 실제로 연관을 가지는 객체의 수를 나타낸 것
집합과 복합 관계
- 집합(Aggregation) 관계와 복합(Composition) 관계 모두 연관 관계에 포함되는 개념
집합 관계(흰 다이아몬드 화살표)
- 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 경우
복합 관계(검 다이아몬드 화살표)
- 더 강한 관계로 구성
- 엔진은 카뷰레터, 피스톤, 플러그로 구성
- 엔진의 구성요소는 더 강한 관계
일반화 관계
- 일반화 관계는 하나의 종류를 의미
- 일반화 관계는 다른 의미로 상속관계라고도 한다.
의존 관계
- 하나의 클래스가 또 다른 클래스를 사용하는 관계
- 다른 클래스의 멤버 함수를 사용하는 경우
- 하나의 클래스에 있는 멤버 함수의 인자가 변함에 따라 다른 클래스에 영향을 미칠 때의 관계를 의미
추상클래스와 인터페이스
추상 클래스
- <<abstract>>로 표기
- <<interface>>로 표기
실체화 관계
- 추상 클래스나 인터페이스를 상속받아 자식 클래스가 추상 메소드를 구현할 때 사용
'School > SW' 카테고리의 다른 글
6장 통신 다이어그램 (0) | 2022.05.25 |
---|---|
5장 순차 다이어그램 (0) | 2022.05.14 |
3장 유스케이스 다이어그램 (0) | 2022.04.27 |
소프트웨어공학 - 클래스 다이어그램(수강신청) (0) | 2022.04.21 |
소프트웨어 공학 - 클래스 다이어그램(배구 경기) (0) | 2022.04.21 |