별로 흥미가 가지않는 부분이다.
DAO와 DTO는 초창기부터 가끔 들어왔던 단어들이다.
당시에는 자세히 몰라도 된다..고 해서 지금도 잘 모른다.
시간을 내서 정확하게 정리, 이해해보자.
우선 DAO부터 살펴보자
DAO란? Data Access Object의 약어.
DB에 접근하는 객체를 말한다.
DAO는 일종의 '객체'라고 한다.
DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다.
DB에 대한 접근을 DAO가 담당하도록 해서 데이터베이스액세스를 DAO만 하게 된다면
다수의 원격호출을 통한 오버헤드를 VO나 DTO를 통해 줄일 수 있고, 다수의 DB호출문제를 해결할 수 있다. 아직은 무슨 말인지 이해가 안된다.
간단하게 보면, DB에 접속하여 데이터의 CRUD작업을 시행하는 클래스.
다음은 DTO를 보자
DTO란 Data Transfer Object로 VO(Value Object)와 비슷하다.
VO는 뭔데..
계층간 데이터 교환 역할을 한다.
계층간 데이터 교환을 도와주는 객체이기 때문에 특별한 로직을 가지지 않는 순수한 데이터 객체여야 한다.
위에서 말했듯이 VO도 DTO와 동일한 개념이나 DTO는 계층간 교환에 의미를 두고, VO는 읽기만 가능한 read-only속성을 가진 객체로서 데이터 그 자체에 의미를 두고 있다.