[Java] POJO 란 ?

Harry park·2021년 12월 22일
0

Java

목록 보기
1/8
post-thumbnail

POJO : Plain Old Java Object

POJO란 순수한 자바 오브젝트(객체)를 뜻한다.
외부의 종속성이 없고 정말 순수한 자바로 이루어진 클래스를 의미한다.

위키백과 : POJO
Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다. 2000년 9월에 마틴 파울러, 레베카 파슨, 조쉬 맥킨지 등이 사용하기 시작한 용어로서 마틴 파울러는 다음과 같이 그 기원을 밝히고 있다. [1]
“ 우리는 사람들이 자기네 시스템에 보통의 객체를 사용하는 것을 왜 그렇게 반대하는지 궁금하였는데, 간단한 객체는 폼 나는 명칭이 없기 때문에 그랬던 것이라고 결론지었다. 그래서 적당한 이름을 하나 만들어 붙였더니, 아 글쎄, 다들 좋아하더라고. ”
— 마틴 파울

POJO의 특징

[1]. 특정 규약에 종속되지 않는다.

  • 특정 라이브러리나 모듈에 정의된 클래스를 상속받아서 구현하지 않아도 된다.

[2]. 특정 환경에 종속되지 않는다.

  • @Annotation 기반으로 설정하는 부분도 엄연히는 POJO라고 볼수는 없다.
  • 특정 비즈니스 로직에 http request(servlet), session등은 엄연히 POJO를 위배한 것이라 볼 수 있다.

POJO Framework

Spring, Hibernate

  • 위의 두 프레임 워크는 객체지향적인 설계를 하고 POJO를 지향한다.
profile
Jr. Backend Engineer

0개의 댓글