본문 바로가기
Backend/spring + springboot

DTO와 VO

반응형

DTO란?

 

DTO는 Data Transfer Object의 약자로, 다른 레이어 간의 데이터 교환에 활용된다. 

각 클래스 및 인터페이스를 호출하면서 전달하는 매개변수로 사용되는 데이터 객체이다. 

( 같은 애플리케이션 내부 X 다른 서버(시스템)로 전달 )

-> 의미는 이렇지만 레이어 간의 데이터 교환이 애플리케이션 내부에 정의된 레이어일 수도 있다. 

데이터 교환 용도로만 사용하기 떄문에 별도의 로직이 포함되지 않는다. 

 

DTO 클래스에는 전달하고자 하는 필드 객체를 선언하고 getter/setter 메서드를 구현한다. 

DTO 클래스에 선언된 필드는 컨트롤러의 메서드에서 쿼리 파라미터의 키와 매핑된다. 

VO란?

 

VO는 Value Object의 약자로, 데이터 그 자체로 의미 있는 객체를 의미한다. 

읽기전용으로 설계하기 때문에 값을 변경할 수 없게 만들어 데이터의 신뢰성을 유지해야한다. 

getter/setter 외의 다른 로직이 들어가 있어도 무방하다. 

 

 

헷갈리지만, 처음 프로젝트를 설계 할때 둘을 정확히 명시하고 구분하여 사용하는게 좋을듯!

 

 

반응형

'Backend > spring + springboot' 카테고리의 다른 글

JPQL 쿼리 메서드  (0) 2024.10.18
[Spring Data JPA] Entity 관련 기본 어노테이션  (0) 2024.10.18
[spring] API 작성 하는 법  (1) 2024.10.01