DTO Getter/Setter는 꼭 필요한가?

Reading-Snail·2023년 12월 13일
1

💡 Qurious 팽이! 💡

목록 보기
3/14

DTO는 기본적으로 자료구조라고 하였습니다. 그렇다면 getter/setter를 사용하지 않고 각각의 필드 값에 직접적으로 접근하는 것이 더 맞는 방향성이 아닌가? 라는 질문이 생겼습니다.

DTO에서 Getter/Setter를 사용하는 이유는 아래와 같습니다.

  1. getter/setter를 사용하면 하나의 단계를 더 거치기 때문에 내부적인 변경이 있더라도 필드 속성이 아닌 getter/setter를 변경할 수 있습니다. 즉, 변경에 더 유연합니다.
  2. getter만 제공하여 read-only를 만들 수 있습니다. 자료구조로 제공 될 경우 읽기 전용으로 만들 수 없습니다.
  3. DTO를 bean으로 설정하기 위해서 getter/setter는 필수 입니다.

위의 사항들이 아닐 경우 완전한 자료구조로서의 DTO도 충분히 가능합니다.

좀더 실질적인 Getter가 필요한 예시는 Jackson을 사용하여 JSON 형식으로 객체를 변환할 때 입니다. 내부적으로 getter를 사용하여 역/직렬화를 거치기 때문입니다.

참고:

profile
책읽는 달팽이 || 공학도에서 개발자로! || 결국 과거의 흐름을 이해했을 때 지금의 것들을 통찰력있게 바라볼 수 있다고 믿습니다.

0개의 댓글

관련 채용 정보