본문 바로가기

개념 정리

DAO, DTO에 대해 알아보자

DAO DTO는 앞서 정리된 MVC 패턴에서 Model에 대한 작업이다.

DTO를 통하여 상태의 값을 주고 받으며, 영속 저장된 데이터와의 통신을 위해 DAO를 사용한다.

 

 

 

DTO

  • DTO는 Data Transfer Object의 약자.
  • 계층간 데이터 교환을 위한 자바빈즈.
  • 여기서 계층이란 컨트롤러의 뷰, 비지니스 계층, 퍼시스턴트 계층을 의미.
  • 일반적으로 DTO는 로직을 가지고 있지 않고, 순사한 객체.
  • 필드와 getter, setter를 가진다. 추가적으로 toString(), equals(), hashCode()등의 Object메소드를 오버라이딩 할 수 있다.
  • 데이터 테이블에 직접적으로 영향이가는 클래스를 사용할 경우, 다른 사람이 코드를 변경하다 실수 했을 때 데이터베이스에 발생할 수 있는 오류를 예방하기 위해서 DTO는 DB에 연결된 클래스는 그대로 두고 정보를 전송하는 클래스를 따로 만들어 주는것이라고 할 수 있다.
  • 데이터를 다른 logic에게 전송 및 반환할 때 효율 적으로 데이터를 사용 할 수 있게 클래스를 작성하는것이 DTO이다. DTO클래스를 사용하면 데이터의 전송 및 얻어서 사용할 때 효율적으로 사용할수 있다.

 

 

 

DAO

  • DAO는 Data Access Object의 약자.
  • 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체.
  • 보통 데이터베이스를 조작하는 기능을 전담하는 목적으로 생성.
  • 모듈화한 클래스들중 데이터베이스에 접근하는 코드만 관리하는 클래스가 DAO클래스.
  • DAO클래스는 일반적으로 테이블 당 한 개씩 생성해서 사용. 특정테이블에서 수행할 작업을 메소드로 정의해서 구현.

 

 

 

 

참고 및 출처 :  https://www.boostcourse.org/web316/lecture/254337 (부스트코드)