계층간 데이터 교환을 위해 사용하는 객체
계층이란?
View - Controller - Service - DAO와 같은 계층을 말한다.
데이터를 담을 private변수와 그 변수를 조작할 수 있는 Getter, Setter 메소드로 구성되어 있다.
DTO와 비슷하지만, 내부 속성 값을 변경할 수 없는(immutable), Read Only의 의미적 특성을 가진 객체
변경없이 값으로 취급할 객체를 말한다.
스프링의 중요한 특징 중에 하나인 이유?
클래스 상속을 강제하지않고 인터페이스 구현을 강제하지 않으며 애노테이션 사용을 강제하지 않는다.
즉, 개발자는 특정한 라이브러리나 컨테이너의 기술에 종속적이지 않고, 가장 일반적인 형태로 코드를 작성할 수 있다는것이다.
생산성에도 유리하고, 코드에 대한 테스트 작업 역시 좀 더 유연하게 할 수 있다는 장점
POJO의 장점
1. 객체지향적인 설계원칙에 충실하도록 개발할 수 있다.
2. 테스트 코드 개발에 용이, 잘 만들어진 테스트 코드는 지속적인 변화에 유연하게 대응할 수 있도록 도와준다.