DTO 와 VO

2019-09-10
Terminology

안녕하세요. 도미닉입니다.

오늘은 DTO 와 VO 에 대해서 알아보겠습니다.

이 두가지를 헷갈려하는 분들이 많으신데요.

DTO 와 VO 가 무엇이고 어떻게 다른지 알아보겠습니다.

DTO 란 무엇인가?

DTO 는 Data Transfer Object 의 약자입니다.

번역하면 데이터 전송 객체입니다.

데이터를 전송할 때 사용하는 객체라고 이해할 수 있겠습니다.

데이터의 getter 와 setter 만 있는 객체를 DTO 라고 합니다.

getter 와 setter 에 대해서 모르신다면 아래 포스팅을 확인해주시기 바랍니다.

http://kiljh.me/2019/09/11/GetterAndSetter/

DTO 의 구현 방법은 무엇인가?

위에 소스는 메소드로 구현한 DTO 의 예제입니다.

Greeting 객체와 같이 각 프로퍼티에 해당하는 getter, setter 만을 갖고 있는 것이 DTO 입니다.

스위프트에서는 위와 같이 연산 프로퍼티를 활용해서 DTO 를 구현할 수도 있습니다.

연산 프로퍼티에 대해서 궁금하시다면 아래 링크를 확인해주세요.

http://kiljh.me/2019/09/09/ComputedProperty/

VO 란 무엇인가?

VO 는 Value Obejct 의 약자입니다.

번역하면 값 객체입니다.

값을 저장하는 객체라고 이해할 수 있겠습니다.

getter 만 있는 불변 객체를 VO 라고 합니다.

VO 의 예제는 무엇인가?

UIColor 클래스는 VO 입니다.

UIColor 를 사용할 때 각 색의 값을 설정하지 않아도 .blue 와 같이 가져와서 사용할 수 있습니다.

정리

DTO 와 VO 는 명확한 차이를 갖고 있었습니다.

혼동해서 사용하지 않도록 조심하시길 바랍니다.

읽어주셔서 감사합니다.

참고 : https://mommoo.tistory.com/61