학습 목표
- DTO · VO · Model 의 핵심 개념을 안다
- 용도가 다른 그릇 3 종 의 동작을 안다
- 세 객체의 자리가 머릿속에 정리된다.
1. 문제
셋 다 비슷한 자바 객체인데 — 왜 이름이 다를까?
2. 새 도구
용도가 다른 그릇 3 종: DTO = 계층 간 운반 그릇 / VO = 값 객체 (불변) / Model = JSP 에 전달하는 컨테이너
3. 코드 — 본 과정의 도메인
// DTO — 계층 사이 데이터 운반 (회원 v2 최소형)
package com.smhrd.domain;
@Data @AllArgsConstructor @NoArgsConstructor
public class Member {
private String id;
private String pwd;
}
// DTO — 게시글 v5 최소형
@Data @AllArgsConstructor @NoArgsConstructor
public class Board {
private int num;
private String title;
private String writer;
private String content;
}
// VO — 비즈니스 의미를 가지는 값 (참고)
public class Money {
private final int amount; // 불변
}
// Model — Spring 의 인터페이스 (Controller → JSP)
model.addAttribute("board", board);
4. 정리
- DTO — 계층 사이 데이터 운반 그릇
- VO — 값 의미를 가지는 불변 객체
- Model — Spring 이 제공하는 데이터 전달 인터페이스
5. Before / After
전 차시
셋 다 비슷한 자바 객체인데 — 왜 이름이 다를까?
이번 차시
세 객체의 자리가 머릿속에 정리된다.
학습 확인 체크리스트
- DTO — 계층 사이 데이터 운반 그릇
- VO — 값 의미를 가지는 불변 객체
- Model — Spring 이 제공하는 데이터 전달 인터페이스