✨ 오늘의 미션이 꽤나 많고 어려워 보이는건 기분 탓이겠쥬~?
비오는 날 창문 밖 빗소리 들으며 공부하는게 얼마나 좋은 일인데요 ☔
🧩 Entity(엔티티)
- 소프트웨어에서 실제로 사용되는 데이터를 나타내는 개념
- 학생의 이름, 나이, 성별, 학년, 학 등이 Entity의 속성이 될 수 있음
🧩 DTO(데이터 전송 객체)
- 데이터를 전송하기 위해 사용되는 개념
- 예를 들면, 클라이언트와 서버 사이에서 데이터를 주고 받을 때 사용되는 데이터 모델이 DTO가 될 수 있음
- DTO는 주로 특정한 목적에 따라 필요한 데이터만을 담고 있음
🧩 VO(값 객체)
- 값을 갖는 객체로, 불변하게 설계되어 있는 개념
- VO는 주로 데이터의 일부분이나 조합된 값들을 표현하기 위해 사용됨
- 즉, 학생의 주소나 위치 정보와 같이 값의 변화가 거의 없이 사용되는 객체가 VO에 해당
❓예시를 들어보자!
⚠️ 가정 : 학교 시스템에서 학생 정보를 다루는 프로그램을 개발中
1. Entity(엔티티): 학생 정보를 나타내는 데이터 모델이 Entity가 될 수 있어요. 학생의 이름, 나이, 성별, 학번 등이 Entity의 속성(attribute)이 될 수 있음. 예를 들어, "학생"이라는 클래스가 Entity로 사용될 수 있음
class 학생 {
String 이름;
int 나이;
String 성별;
int 학번;
// ...
}
2. DTO(데이터 전송 객체): 학생 정보를 클라이언트와 서버 사이에서 전송하기 위한 데이터 모델이 DTO가 될 수 있음.
예를 들어, 학생 정보를 조회하는 요청과 응답에 사용되는 데이터 모델이 DTO로 사용될 수 있음!
class 학생조회요청 {
int 학번;
// ...
}
class 학생조회응답 {
String 이름;
int 나이;
String 성별;
// ...
}
3. VO(값 객체): 학생의 좌표를 나타내는 데이터 모델이 VO가 될 수 있음.
예를 들어, 학생의 주소나 위치 정보를 표현하는데 사용되는 데이터 모델이 VO로 사용될 수 있음.
class 학생주소 {
String 도시;
String 거리;
String 우편번호;
// ...
}
🎵 정리하자면?
Entity는 데이터베이스에 저장되는 실제 데이터, DTO는 데이터 전송을 위해 사용되는 객체, VO는 값을 나타내는 객체로 사용되는 것
'개발공간 > HW' 카테고리의 다른 글
🔎 비지니스 로직이 뭔데? (0) | 2023.04.07 |
---|---|
🔎 DDD를 기반으로 Controller, Service, Repository 3대장을 알아보자 (0) | 2023.04.07 |
❓DDD 설계와 SQL 중심 설계 (0) | 2023.04.05 |
❓Spring에서 DI, IoC란 무엇일까? (0) | 2023.04.04 |
🔎 지그재그(ZigZag)가 가진 기능 분석하기 (0) | 2023.04.03 |