티스토리 뷰

반응형

개발을 하던 도중

DTO와 VO의 차이에 대해 궁금해졌다.

 

🤔 우선 DTO란?

Data Transfer Object의 약자로

순수하게 데이터를 담아 계층 간으로 전달하는 객체이다.

 

로직 없이 순수하게 데이터만 전달하는 것으로써

getter/setter 메서드가 이에 해당한다.

 

🤔 VO란?

Value Object의 약자로

특정 값 자체를 표현하므로

불변성을 보장하기 위해 생성자를 사용하여야 한다.

 

VO는 값자체를 나타내므로 setter 같은

새로 값을 지정하는 메서드가 존재해선 안된다!

(왜냐? 불변성을 보장해야하기 때문)

 

좀 더 쉬운 말로

DTO

데이터를 담아 계층 간으로 전달한다.

값을 가져오고 (get)

전달해 지정한다.(set)

 

그럼

VO

특정 값 자체를 표현한다.

 

✔ VO와 DTO의 차이점?

 

VO와 DTO는 Data를 전달하는 객체로 동일한 개념이지만

VO는 값 그 자체이고,

DTO는 Data를 전달하는 것이다!!

 


 

그럼 오늘도 즐거운 개발하기를 바란다. 😊

 

 

반응형