인프런 커뮤니티 질문&답변

00님의 프로필 이미지
00

작성한 질문수

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

20_회원관리UI 및 파라메터 수집(VO)하기

VO DTO

작성

·

506

0

안녕하세요 선생님 ! 강의 듣다가 궁금한것이 있어 질문 남깁니다 ! :D

제가 예전에 학원에서 jsp를 잠깐 들어본적이 있었는데 그 때는 DAO, DTO 를 만들었는데 

선생님 강의에서는 DTO 가 아닌 VO 로 하시는 것 같은데 혹시 이 두개의 차이가 무엇인가요????

답변 1

1

박매일님의 프로필 이미지
박매일
지식공유자

DTO(Data Transfer Object), VO(Value Object) 2개 모두 자료형과 관련이 있습니다.
예를 들면 회원(이름, 이메일, 전화번호)이라는 자료형을 만든다면, 아래처럼

public class MemberDTO{
     String name;
     String email;
     String phone;
}
이런 형식이 되고 객체를 생성한다면 아래처럼 하고 데이터를 저장하면 됩니다.
MemberDTO dto=new MemberDTO(); 
dto.name="홍길동";
dto.email="aaa@aa.aa";
dto.phone="010-1111-1111";

대략 그림으로 표현한다면 아래처럼되구요.
아래 dto객체를 데이터베이스에 저장을 한다면 DAO에 데이터를 넘겨줘야 되기 때문에
즉 이동(Transfer)을 시켜야 되어서 DTO라는 용어를 쓰는 이유입니다.

                name      email            phone
dto---->|홍길동|aaa@aa.aa|010-1111-1111|

그리고 아래처럼 회원데이터는 하나의 객체로 표현이 되기 때문에 하나의 값(Value)으로도 해석을
할수 있어서 Value Object(VO)라고도 표현을 합니다.

|----------- ---- Value--------------------|
|  name      email            phone     |
|홍길동|aaa@aa.aa|010-1111-1111|

어떤것을 사용해도 되구요, VO라고 많이들 사용하고 있습니다.
이해가 되셨을까요? 

00님의 프로필 이미지
00
질문자

넵 !! 감사합니다 ~!!

00님의 프로필 이미지
00

작성한 질문수

질문하기