원하는 것은 뭐든지

DTO 와 VO의 차이점 본문

개발/자바

DTO 와 VO의 차이점

댕로그😏 2023. 10. 5. 16:47
반응형

안녕하세요

DTO와 VO의 차이에 대해 알아보겠습니다.

SI기업 같은 경우 VO를 DTO와 짬뽕시켜 섞어 쓰는 경우가 있는데 이번에 제대로 차이에 대해 알아보도록 하시죠

 

DTO(Data Transfer Object)

말 그대로 데이터를 옮기는 객체입니다. 

그 역할을 제외하고는 없다고 생각해야 하고 순수하게 계층(layer) 간 데이터를 전달하는 역할만 수행합니다.

로직을 가지지 않고  Setter, Getter만 가지게 됩니다.

 

VO(Value Object)

직역하면 값 객체..

값 그 자체입니다. Setter가 없는 불변의 성질을 띄고 있습니다.

DTO와는 다르게 로직을 포함하고 있어도 괜찮습니다.

 

중요한 점은 값 그 자체이기 때문에 안에 있는 속성값이 모두 같다면 같은 객체라는 것입니다.

정말 다양한 휴대전화가 있지만 디자인이 다른 휴대전화를 봐도 휴대전화라고 하는 것과 같습니다.

 

정리

DTO는 Setter와 Getter만을 가지는 데이터 전달하는 객체

VO는 불변의 성질을 띄는 값 그 자체!

 

SI기업을 다니시는 분들은 아시겠지만 이런거 없고 그냥 다 때려 박아 놓는 경우가 있죠.. 회사 내에서 합의가 이루어진 상태에서 쓰여야 할 것 같습니다.

 

 

 

감사합니다.

 

참고 - https://www.youtube.com/watch?v=z5fUkck_RZM 

반응형

'개발 > 자바' 카테고리의 다른 글

자바 여러버 사용하기  (0) 2023.09.20
[JAVA] ENUM 클래스  (0) 2023.03.15
Comments