안드로이드에서 클린 아키텍처를 공부해보신 분들이면, 아래 용어들에 대해서 자주 접하게 됩니다.
DTO, DAO, Entity
각각에 대해서 차이는 무엇이며, 어떤 개념을 가지고 있는지 알아보겠습니다.
DTO (Data Transfer Object)
DTO는 단어 그대로 데이터 전송 객체를 의미합니다.
쉽게 말해서 HTTP 통신시 JSON 타입의 Request Body와 Response Body를 생각하면 된다.
- 계층 간의 데이터 교환을 하기 위해 사용하는 객체
- API 호출 시 서버로부터 받은 JSON 형태의 데이터를 매핑할 수 있는 data class
- 화면에 노출시키지 않는 data가 포함된다면 domain 모듈의 model에 필요한 data만 mapping 하는 작업이 필요
DAO (Data Access Object)
DAO는 데이터베이스에 접근하는 객체를 의미합니다. 즉, Database에 CRUD 작업을 수행하는 인터페이스 역할을 합니다.
- 데이터 베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용
- SQLite (Room)을 사용할 때 DAO 사용
Entity
실제 Database에 테이블과 매칭되는 클래스를 의미합니다.
- DTO와 유사함 (API response data는 DTO, Database data는 Entity)
- DTO와 마찬가지로, 화면에 노출시키지 않는 data가 포험된다면 domain 모듈의 model에 필요한 data만 mapping 하는 작업이 필요함
참고자료
DTO, DAO, VO에 알아보자!
이번 포스팅은 개발하면서 한 번쯤은 들어봤고 모르면 안 되는 용어(DTO, DAO, VO)를 간단하게 알아보자! # DTO - Data Transfer Object의 약자로 계층 간 데이터 교환을 하기 위해 사용하는 객체이다. - gette
jige.tistory.com
https://ystech.tistory.com/entry/Android-DTO-DAO-Entity
[Android] DTO? DAO? Entity?
서론 프로그래밍에서 한 번쯤은 접해봤을 DTO, DAO, Entity에 대한 개념을 정리해보려 한다. 클린 아키텍처 적용 시 헷갈리면 안 되는 개념이기 때문에 중요하다고 생각하는 개념이다. DTO(Data Transfer
ystech.tistory.com
'Android > Architecture' 카테고리의 다른 글
[Android] SAA(Single Activity Architecture)란? (0) | 2024.12.17 |
---|---|
[Android] MVVM 패턴 (0) | 2023.09.19 |
[Android] ViewModel 이란? (0) | 2023.09.19 |
안드로이드 Clean Architecture - 예제 (Rxjava) (0) | 2023.05.27 |
안드로이드 Clean Architecture - 개념 (0) | 2023.05.27 |