안녕하세요. 도미닉입니다.
오늘은 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 는 명확한 차이를 갖고 있었습니다.
혼동해서 사용하지 않도록 조심하시길 바랍니다.
읽어주셔서 감사합니다.