728x90
반응형
DTO
- Data Transfer Object(데이터 전송 객체)
- 계층 간의 데이터 교환을 위해서 사용하는 객체
- 로직을 갖고 있지 않는 순수한 데이터 객체
- getter, setter 메서드만 존재
- 데이터를 전송할 때 사용되는 바구니
VO
1. Value Object로 값 그 자체를 표현하는 객체
2. 서로 다른 이름을 가진 VO 인스턴스의 모든 속성값이 같다면 같은 객체이다.
ex) 컬러라는 VO가 있을때, 그 안에서 Red의 RGB값은 (255, 0, 0)이다.
color1이 (255, 0, 0)이고 color2가 (255, 0, 0)일 때, 두 개는 같은 객체로 판단
3. 객체의 불변성 보장하며 로직 포함 가능
4. equals를 오버라이딩 하여 같은 값인지 비교할 수 있다.
map 등에서 hashcode로 값을 찾을 때 사용하기 위해 hashcode를 오버라이딩 한다.
2번의 'VO가 모든 속성값이 같다면 같은 객체이다'의 전제조건은 equals와 hashcode를 오버라이딩 하는 것
참고
https://www.youtube.com/watch?v=J_Dr6R0Ov8E&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9C%ED%85%8C%ED%81%AC
728x90
반응형
'개발 관련 강의 정리 > 10분 테코톡' 카테고리의 다른 글
[10분 테코톡] 차리의 Stream (0) | 2023.07.19 |
---|---|
[10분 테코톡] 📍인비의 DTO vs VO 정리 (0) | 2023.07.11 |
[10분 테코톡] 💫두강의 Generics 정리 (0) | 2023.07.06 |
[10분 테코톡] 🌳 나봄의 CORS 정리 (0) | 2023.07.05 |
[10분 테코톡] 크리스, 로마의 stream vs for (0) | 2023.07.02 |
댓글