스프링 공부/이론 정리

[이론정리] DTO 공부하다가 나머지도 공부하게 되는 과정

장아장 2023. 1. 11. 13:32

DAO

  • DAO(Data Access Object) 는 데이터베이스의 data에 접근하기 위한 객체이며, DataBase에 접근 하기 위한 로직 & 비지니스 로직을 분리하기 위해 사용한다.
  • 현재까지 사용한 DAO는 Entity(데이터베이스에 저장되는 형태) 밖에 없는 것 같다. 

DTO

  • DTO(Data Transfer Object) 는 계층 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체이다. 생성자와 getter정도만 쓰는 것 같다. 
  • DTO는 DAO가 그대로 외부에 나갈 때, 안전하지 않을 위험이 있기 때문에 사용한다고 이야기를 듣고 사용하다가, 이번에 어떤 용도인지 알게 되었다. 또한, 기능적 로직을 가지지 않게 해야겠다는 생각도 든다. 

VO

  • VO(Value Object) 값 오브젝트로써 사용하는 도중에 변경 불가능하며 오직 읽기만 가능하다.
  • DTO와 유사하지만 DTO는 setter를 가지고 있어 값이 변할 수 있다.