일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 강아지 홀리스틱
- 강아지종류
- 강아지 열사병
- 홀리스틱 유기농
- 반려견
- 반려견 사료등급
- 반려견 홀리스틱
- 부산 맛집
- 반려견 열사병
- 티켓팅메크로
- 쿠팡메크로
- 동인천 맛집
- 신포동 맛집
- 강아지 더위
- 반려견 유기농
- 반려견 더위
- 샤로수길 맛집
- 쿠팡매크로
- 서울대입구 맛집
- 닥스훈트
- 반려견 종류
- 강아지 종류
- 강아지
- 강아지 유기농 사료
- 티켓팅매크로
- 국비지원 예습
- 샤로수길 데이트
- 반려견 유기농 사료
- 자동화봇
- 강아지 유기농
- Today
- Total
심심한잉여의 잡동사니
[JAVA]POJO, DTO, DAO, VO 본문
POJO란
프레임워크를 사용하기 위해 강제되는 제약이 없는 자바 객체이다.
인터페이스, 상속, 어노테이션이 강제되지 않는 객체라고 볼 수 있다.
대표적으로 Servlet객체는 HttpServlet을 꼭 받아야 프레임워크를 작동시킬 수 있기 때문에 POJO라고 볼 수 없다.
스프링으로 보면 @Service 나 @Controller를 받아야 하는 서비스, 컨트롤러 객체들도 POJO라고 볼 수 없다.
DTO란
순수하게 데이터를 담아 계층간 전달하는 객체이다.
스프링은 3가지 독립적인 계층이 존재한다.
- 뷰 계층
- 컨트롤러 계층
- 비즈니스 계층
각 계층에서 사용되는 값을 공유하기 위해 Data Transfer Object라는 DTO를 사용한다.
이 객체는 관계형 데이터베이스의 필드값과 동일한 변수들을 private 멤버로 가지고 있고 이 멤버에 접근할 수 있는 getter, setter로 이뤄져 있다.
DTO는 클라이언트가 값을 요청했을 때 그 요청한 값을 DTO에 담지 않고 일일이 하나씩 응답해 주면 네트워크에 많은 트래픽이 발생하기 때문에 이를 방지하기 위해 사용한다.
VO란
값 그 자체를 나타내는 객체
DTO와 유사한 개념이지만 VO는 객체가 같은 클래스로 부터 나왔다 하더라도 내부의 값이 다르면 두 객체는 같다고 판단하지 않는다. 하지만 DTO는 내부의 값이 다르더라도 같은 클래스로부터 나온 객체라면 두 객체가 서로 같다고 판단한다.
DAO란
실제 객체는 멤버 변수와 멤버 메소드로 구성되 있다.
이것은 하나의 객체가 데이터의 저장과 그 데이터를 사용을 동시에 한다는 것인데, 웹 개발에서는 데이터 저장용도의 객체와 데이터 사용 용도의 객체가 따로 분리되어 있다.
'코딩일기 > Java' 카테고리의 다른 글
[JAVA] 어노테이션(Anotation) (0) | 2022.04.12 |
---|---|
[Java] 리플렉션 Class 클래스 (0) | 2022.04.11 |
[JAVA] 추상 클래스 VS 인터페이스 (0) | 2022.03.31 |
[JAVA] DTO와 VO (0) | 2022.03.30 |
[JAVA] 디자인패턴 - 싱글톤 (0) | 2022.03.20 |