제 블로그의 모든 글은 IMHO로 쓴 것입니다. 잘못된 부분이 있으면 덧글을 통해서 소통을 하면 더 좋은 글로 발전이 될 수 있을 것 같습니다. 그렇지만 소통을 할 때 서로의 감정을 존중하는 선에서 해주셨으면 좋겠습니다. 감사합니다:) —
DTO : Data Transfer Object 는 Vo(Value Object)로 바꿔서 말할 수 있는데, 계층간 데이터 교환을 위한 자바빈즈이다.
여기서 말하는 계층간의 컨트롤러,뷰, 비지니스 계층, persistance 계층을 말하며 각 계층간 데이터 교환을 위한 객체를 DTO,VO라고 한다.
(VO는 dto랑 같지만 read only속성을 가짐)
대표적인 DTO로는 폼데이터빈, 데이터베이스 테이블빈 등이 있으며,
VO(value object)패턴 이라고 한다.
VO 패턴은 데이터 전달을 위한 가장 효율적인 방법이지만, 클래스 선언을 위해 많은 코드가 필요하다는 단점이 있다.
일반적으로 DTO는 로직을 갖고 있지 않다. 순수한 데이터 객체이며 속성과 그 속성에 접근하기 위한 getter,setter메소만 가진 클래스를 말한다.
여기에 추가적으로 toString(), equals()등의 Object 클래스 메소드를 작성할 수 있다.
즉 계층 간의 데이터 전달에 사용하느 데이터 객체들을 말한다.
참고 https://genesis8.tistory.com/214