호비시의 끄적끄적

POJO 란? 본문

Back/Spring

POJO 란?

호비시 2022. 6. 23. 09:00

POJO 란?

Plain Old Java Object 의 약자로 말 그대로 해석하자면, 오래된 방식의 자바 객체라는 뜻이다. POJO는 Java 가 무거운 프레임 워크를 사용하게 됨에 따라 해당 프레임 워크에 종속된 무거운 객체를 만들게 된 것에 반발하여 만든 개념이다.

ORM이 나왔을 때, ORM 기술을 사용하고 싶다면 Hibernate와 같은 ORM 프레임워크를 사용해야한다. 자바 객체가 ORM 기술을 사용하기 위해 Hibernate에 의존하는 순간 POJO라고 할 수 없다. 특정 기술에 종속, 의존하기 때문이다.

왜 POJO를 지향해야 하는가?

Java의 특징은 객체지향 프로그램이다. 객체지향 프로그래밍은 특정 기술에 종속, 의존하지 않아야 한다. 의존하게 된다면 확장성이 떨어지게 되고, 유지보수가 힘들어 지기 때문이다. Java의 특징, 객체지향 프로그래밍의 특징을 활용하기 위해 POJO를 지향해야 한다.

그럼 어떻게 사용해야 하는가?

POJO를 유지하면서 특정 기술을 사용하고 싶다면 어떻게 해야할까? Hibernate는 스프링 개발을 한다면 거의 필수적으로 사용하게 된다. 특정 기술에 종속하지 않는 POJO의 개념에 벗어난다. 뛰어난 개발자들은 이러한 점을 해결하기 위해서 JPA라는 표준 인터페이스를 정의했다. 여러 ORM들이 JPA라는 표준 인터페이스를 지키면서 구현 실행하게 되므로, 새로운 기술을 도입하면서 POJO를 유지할 수 있게 된것이다.

정리

POJO란 객체지향원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있도록 설계된 오브젝트

'Back > Spring' 카테고리의 다른 글

Stream  (0) 2022.07.03
Lombok ?  (0) 2022.06.28
Spring WebFlux  (0) 2022.06.22
JVM  (0) 2022.06.21
Apache Tomcat  (0) 2022.06.17
Comments