Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- jsp
- java
- 인덱스
- JavaScript
- SQL_용어정리
- SQL
- asp.net
- json
- 인스턴스
- 이클립스
- 자바스크립트
- Spring_오류정리
- git
- MySQL
- Spring_에러정리
- github
- 자바
- Linux
- DML
- Linux_명령어정리
- Git_정리
- 아파치톰캣
- spring
- 배열
- HTML
- 다이어그램
- workbench
- Git_명령어정리
- CSS
- vb.net
Archives
- Today
- Total
데브마우스
[다이어그램] 클래스 다이어그램 정리 본문
클래스 다이어그램이란 무엇인가요?
클래스 다이어그램은 객체지향 프로그래밍 언어로 작성된 프로그램의 소스 코드를 기반으로 프로그램 구조를 더 이히하기 쉽게 표현하기 위한 다이어그램입니다.
클래스 다이어그램은 소프트웨어 설계 단계에서 매우 중요하며, 클래스의 멤버(변수와 함수) 그리고 클래스 간의 관계를 시각적으로 드러냅니다.
클래스 다이어그램은 왜 그리나요?
클래스 다이어그램을 그리는 이유는 아래와 같습니다.
- 시스템 구조 이해
- 시스템을 구성하는 클래스들과 그 관계를 시각적으로 쉽게 파악할 수 있습니다. 또한 시스템 분석 및 이해에 도움이 됩니다.
- 의사소통의 효율성
- 문서화
- 설계 오류 발견
- 설계 초기 단계에서 다이어그램을 작성하여 잠재적으로 있을 수 있는 설계 오류를 발견하고 미리 수정할 수 있습니다.
클래스 다이어그램은 어떻게 작성하나요?
클래스 다이어그램 작성 순서는 아래와 같습니다.
- 요구사항 분석
- 클래스 식별
- 속성정의(변수)
클래스 다이어그램의 멤버 접근제어자 작성 방법
클래스 멤버(변수와 함수)의 접근제어자는 아래와 같이 표현합니다.
접근제어자 | 표기법 |
public | + |
private | - |
default | (기호 없이 작성합니다.) |
protected | # |
클래스 다이어그램 관계 표기법
클래스들의 사이의 관계를 식별하고 관계에 따라 연관, 의존, 상속, 구현, 집합, 복합 관계로 표현할 수 있습니다.
연관관계(Association):실선 #지속적인관계
한 클래스가 다른 클래스의 객체를 멤버 변수로 포함하고 있을 때 나타냅니다.
class Student {
private String name;
School school;
public String getName() {
return name;
}
}
class School {
private String name;
public String getName() {
return name;
}
}
위 코드를 클래스 다이어그램으로 표현하면 아래와 같습니다.
의존관계(Dependency): 점선 #일시적인관계
메서드 안에서 선언되거나 파라미터로 선언된 경우 의존 관계입니다.
class Human {
private String name;
public void eat(Food food) {
System.out.println("먹은 음식은 " + food+"입니다.");
}
}
class Food {
private String name;
}
위 코드를 클래스 다이어그램으로 표현하면 아래와 같습니다.
상속관계(Inheritance): 실선과 빈세모 #상속(extends)
다른 클래스로부터 상속받은 관계를 표현합니다.
구현관계(Realization): 점선과 빈세모 #구현(implements)
다른 클래스로부터 구현받은 관계를 표현합니다. 이때 인터페이스임을 강조하기 위해 클래스 위에 <<interface>>라고 작성하는 경우도 많습니다.
집합관계(Aggregation): 점선과 다이아몬드 #생명주기가_독립적
한 클래스가 다른 클래스의 객체를 전역변수로 포함하지만, 생명주기가 독립적인 경우를 의미합니다.
복합관계(Composition): 꽉찬 다이아몬드 #생명주기가_같음
한 클래스가 다른 클래스의 객체를 포함하며 생명주기가 같은 경우를 의미합니다.
'다이어그램' 카테고리의 다른 글
[다이어그램] 시퀀스 다이어그램 정리 (0) | 2024.01.08 |
---|---|
[다이어그램] 유스케이스 다이어그램 정리 (0) | 2024.01.08 |