강의

멘토링

로드맵

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

00님의 프로필 이미지
00

작성한 질문수

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

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

VO DTO

작성

·

550

0

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

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

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

퀴즈

강의에서 설명된 아키텍처에서 Controller(Servlet)의 주요 역할은 무엇일까요?

데이터 구조를 정의하고 데이터를 담는 역할

클라이언트 요청을 받고 처리를 다른 컴포넌트에 위임하는 역할

데이터베이스에 접근하여 데이터를 조작하는 역할

클라이언트에게 보여지는 화면(UI)을 직접 생성하는 역할

답변 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

작성한 질문수

질문하기