DTO? VO? POJO?

klmjiho·2025년 7월 16일

궁금한것들

목록 보기
2/3

DTO(Data Transfer Object)

계층간 데이터 교환을 위해 사용하는 객체
계층이란?
View - Controller - Service - DAO와 같은 계층을 말한다.
데이터를 담을 private변수와 그 변수를 조작할 수 있는 Getter, Setter 메소드로 구성되어 있다.

VO(Value Object)

DTO와 비슷하지만, 내부 속성 값을 변경할 수 없는(immutable), Read Only의 의미적 특성을 가진 객체
변경없이 값으로 취급할 객체를 말한다.

POJO(Plain Old Java Object)

  • Getter와 Setter로 구성된 가장 순수한 형태의 기본 클래스
  • 어디에도 종속되지않은 자바객체임
  • Java 오브젝트 모델, 프레임워크를 따르지 않는 Java Object
    즉, Spring MVC를 걷어내도 POJO들은 정상적으로 동작되어야 한다.

스프링의 중요한 특징 중에 하나인 이유?
클래스 상속을 강제하지않고 인터페이스 구현을 강제하지 않으며 애노테이션 사용을 강제하지 않는다.
즉, 개발자는 특정한 라이브러리나 컨테이너의 기술에 종속적이지 않고, 가장 일반적인 형태로 코드를 작성할 수 있다는것이다.
생산성에도 유리하고, 코드에 대한 테스트 작업 역시 좀 더 유연하게 할 수 있다는 장점

POJO의 장점
1. 객체지향적인 설계원칙에 충실하도록 개발할 수 있다.
2. 테스트 코드 개발에 용이, 잘 만들어진 테스트 코드는 지속적인 변화에 유연하게 대응할 수 있도록 도와준다.

0개의 댓글