본문 바로가기
개발

[JAVA]DTO, VO

by 적아38 2023. 2. 8.
728x90

DTO(Data Transfer Object)

DTO는 계층간의 데이터를 전송하기 위한 객체로써, getter/setter를 사용하여 보내는 사람은 setter를 사용하여 값을 담고, 받는 사람은 getter를 사용하여 값을 꺼내 쓴다. 이때 값의 변조를 막고 싶다면 생성자로 불변 객체로 만들어 버리면 된다. 또한 DTO의 특성상 데이터 전달만은 목적으로 사용하기 때문에 getter/setter를 제외한 다른 로직이 필요가 없다.

 

 

VO(Value Object)

VO의 경우 값 그 자체를 나타내는 객체로써, 핵심은 필드 값이 같다면 두 객체를 같은 객체로 본다는 것이다. 이때 당연하게도 주소값을 비교하는 경우의 문제점을 위해서 hashcode()와 equals()를 재정의하여 필드 값이 같다면 같은 객체로 인식될 수 있도록 해주어야 한다.

 

출처 : https://maenco.tistory.com/entry/Java-DTO%EC%99%80-VO%EC%9D%98-%EC%B0%A8%EC%9D%B4

728x90

'개발' 카테고리의 다른 글

.gitignore 문법  (0) 2023.06.09
[Intellij]한글 Spring Boot profiles 설정  (0) 2023.02.09
[java] Spring은 계층 구조  (0) 2023.02.08
[java] 빌드패턴  (0) 2023.02.08
[IntelliJ] 콘솔 한글 깨짐  (0) 2023.02.02

댓글