티스토리 뷰

BackEnd/Java&Kotilin

DAO, VO, DTO의 정의

Hero_O 2022. 7. 31. 22:50

DAO ( Data Access Object )

정의

DAO의 풀 네임은 Data Access Object 이다. 이름 그대로 데이터베이스에 접속하는 객체이다.

데이터베이스 접속 이라는 역할을 가진 다 수의 로직을 하나의 객체로 모아 관리가 쉽도록 해준다.

VO ( Value Object )

정의

값이 같은면 동일하다고 간주되는, 식별성 없는 객체 (예 : Address, Color )

JPA의 Value Type 혹은 일급 컬렉션 역시 Value Object의 한 종으로 포함 됨.

DTO ( Data Transfer Object )

정의

레이어, 네트워크등 데이터가 이동할 때 Data Holder 역할.

Why?

원격 호출 시, 여러 데이터를 하나씩 보내는 것은 네트워크 호출및 코드의 가독성에 부정적인 영향을 끼쳐 문제를 해결하기 위해 사용하기 시작했다.

 

DTO 와 VO의 차이

DTO(Data Transfer Object)  VO(Value Object)
데이터 전송을 위한 객체 값을 나타내는 객체
제약 없음 ( 가변, 불변 선택적 ) 불변(immutable) 객체
로직을 포함하지 않음 도메인의 일종으로 비즈니스 로직을 포함한다.

 

 

'BackEnd > Java&Kotilin' 카테고리의 다른 글

[Java] 람다 ( Lambda ) 와 캡쳐링  (0) 2022.08.09
[Java] 컴파일 방법과 Option  (0) 2022.08.02
IS-A 와 HAS-A  (0) 2022.07.30
[Java] 다이나믹 프록시 (Dynamic Proxy)  (0) 2022.07.29
JVM(Java Virtual Machine) 이란?  (0) 2022.07.26
댓글