POJO
Plain Old Java Object
정의
POJO란 Java Language Specification을 제외하고 어떠한 제한에도 강요받지 않는 객체를 말한다.
즉 다음 경우를 만족해서는 않된다.
특정 클래스를 상속
1 2
public class Foo extends javax.servlet.http.HttpServlet { ..
인터페이스를 구현
1
public class Bar implements javax.ejb.EntityBean { ...
annotation 포함
1
@javax.persistence.Entity public class Baz { ...
특정 프레임워크에서 annotation을 포함하면서 POJO compliant라고 부르는 경우가 있는데, annotation이 없을 경우 POJO로 돌아가는 경우에 POJO라고 부르기도한다.
반대의 의미는 SJO(Specialized Java Object)가 있다.
특징
- Java에서 제공하는 API 외에 종속되지 않음
- 특정 규약, 환경에 종속되지 않음. => 자동화 테스트에 유리(환경 종속적인 코드는 자동화 테스트가 어려움)