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 |
Tags
- 참고자료 https://velog.io/@imok-_/javascript-dom-bom-%ec%9d%b4%eb%9e%80
- https://developers.kakao.com/
- https://ittrue.tistory.com/90
Archives
- Today
- Total
쿠쿠더님의 블로그
실무에서 자주 쓰이는 DTO/VO/DAO 완전 정복 본문
- DTO란 무엇인가?
- DTO의 필요성과 목적
- VO(Value Object)의 개념
- DAO(Data Access Object)의 역할
- MVC 구조와 데이터 전달 흐름
- 객체지향 설계 시 고려사항
1. DTO란 무엇인가?
DTO(Data Transfer Object)는 데이터 전송을 위한 객체로, 주로 클라이언트와 서버 사이 또는 계층 간에 필요한 데이터만 주고받기 위해 사용된다.
DTO는 단순히 데이터를 담는 그릇이며, 불필요한 정보나 보안상 민감한 정보(예: 비밀번호 등)를 제외하고 필요한 정보만 전달한다.
const userDto = {
userId: "",
userName: ""
}
2. DTO의 필요성과 목적
- 불필요한 데이터 전송 방지
- 보안 유지 (예: 비밀번호 노출 방지)
- 네트워크 자원 절약
- 코드의 구조화 및 가독성 향상
데이터를 포장해서 보내는 박스와 같으며, 목적에 따라 크기와 내용이 달라진다. (예: 작은 박스/큰 박스)
3. VO(Value Object)의 개념
VO는 값 그 자체를 표현하는 객체이다.
일반적으로 불변(immutable) 객체로 사용되며, 그 목적은 ‘값 자체’를 표현하는 것이다.
4. DAO(Data Access Object)의 역할
DAO는 DB와 직접 통신하는 객체로, 데이터를 요청하거나 저장하는 역할을 담당한다.
DTO 또는 VO 객체를 받아서 DB로 전달하며, 로직과 DB 접근을 분리하는 데 목적이 있다.
8. MVC 구조와 데이터 전달 흐름
text
복사편집
요청 흐름 브라우저 → 컨트롤러 → DTO → 서비스 → DB 응답 흐름 DB → 서비스 → DTO → 컨트롤러 → 브라우저
계층마다 책임을 나누는 방식으로, 가독성과 유지보수성을 높여준다.
9. 객체지향 설계 시 고려사항
- 데이터 구조 설계 시 결합도와 응집도를 고려한다.
- 불변성을 유지할 것인지 여부 결정
- 협업 시 가독성을 높이는 방식으로 객체를 정의
- 필요한 형태로 가공해서 각 계층에서 효율적으로 사용
결론적으로 "잘 돌아가면 최고"이지만, 유지보수와 협업을 고려한 설계가 중요하다.
일단 객체지향은 프로그래밍에서 엄청 중요합니다 그치만 다아는것은 불가능하져 그래도 가까워질수는 있지는 않나 하하하..
'blockchain(solidity)' 카테고리의 다른 글
| 스마트 컨트랙트 개발 환경 정리: Remix, Truffle, Hardhat 비교 (0) | 2025.07.31 |
|---|---|
| 이더리움 네트워크의 구조 (0) | 2025.07.31 |
| 블록체인의 핵심인 P2P 네트워크 (0) | 2025.07.31 |
| 블록체인의 핵심 구조와 디지털 서명 알고리즘 이해하기 (0) | 2025.07.31 |
| 블록체인 이론 (0) | 2025.07.31 |