POJO와 관련된 용어들..

POJO(Plain Old Java Object)가 몬지 확실히 알고 갑시다.. ㅋㅋ
아래는 미물의 개발 세상님의 블로그에서 발췌한 내용입니다.

*  VO – Value Object.
 테이블에 매핑되는 레퍼 클래스로서 값을 표현하는 객체로서 고유의 identity를 갖지 않는것을 말한다. 그리고 속성에 따라 정의된 객체이고 pass by value로 넘겨지게 되므로  원격 호출이 아닌 로컬 호출이 된다.
* PO – Persistence Object.
 database identity를 포함하고 있는 객체, 캐싱됨.
* BO – Business Object
 Data source에 접근하여 데이트를 얻거나 저장하는 것을 목표로하고 비즈니스 로직을 포함하고 있는 객체이다. .Business Object는 Session Bean, Entity Bean 또는 별도의 Java Object로 구현된다.
* TO – Transfer Object
 Client가 사용하기 위해 데이터 전송에 사용될 조합된 객체. Value  Object와 유사함.
* POJO – Plain Ordinary Java Object
 원격 콤포넌트가 아닌 로컬 Object이고 더이상 EJB 콘테이너에 의존하지 않고 콘테이너 외부에서 단위 테스트가 가능하고 DTO(Data Transfer Object)로도 사용 가능한 것이라고 할까요.

위키피디아에서 정의한 내용을 살펴보면…

Contextual variations
As of November 2005, the term “POJO” is mainly used to denote a Java object which does not follow any of the (major) Java object models, conventions, or frameworks such as EJB.

All Java objects are POJOs, therefore ideally speaking a POJO is a Java object not bound by any restriction other than those forced by the Java Language Specification. I.e., a POJO should not have to

Extend prespecified classes, as in
public class Foo extends javax.servlet.http.HttpServlet{ …Implement prespecified interfaces, as in
public class Bar implements javax.ejb.EntityBean{ …Contain prespecified annotations, as in
@javax.ejb.Entitypublic class Baz{ …However, due to technical difficulties and other reasons, many software products or frameworks described as POJO-compliant actually still require the use of prespecified annotations for features such as persistence to work properly.

결국 POJO는 간단하게 Getter, Setter 메쏘드등을 가지고 있는 Java Object라고 보면 되겠습니다.
http://c2.com/cgi/wiki?PlainOldJavaObject 의 글도 참고해 보세요.. ^^

POJO와 관련된 용어들..”에 대한 1개의 생각

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.