DevBoi

[Spring] POJO이란? 본문

Develop

[Spring] POJO이란?

HiSmith 2021. 12. 14. 13:57
반응형

POJO란 Plain Old Java Object, 즉 단순한 자바 오브젝트를 의미한다.

POJO란 객체 지향적인 원리에 충실하면서, 환경과 기술에종속 되지않고 필요에 따라 재활용 될수 있는 방식으로 설계된 오브젝트이다.

 

1. 특정 규약에 종속 x

이게 무슨 말이냐면, 자바 언어와 꼭 필요한 api외에는 종속을 하면 안된다.

다른 규약과 종속성이 생기는 순간 POJO는 더이상 신뢰할수있는 특정 클래스가 아니게 되고 해당 클래스에 객체 지향적인 설계 기법을 적용하기가 어렵다.

 

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

특정 기업의 프레임워크나 서버에서만 동작이 가능하면 POJO가 아니다. 자바언어와 범용성있게 어디서나 사용가능한

것들만 종속되어야 한다 (자바는 플랫폼에 독립적으로 실행가능하다.)

 

3. 객체 지향적 원리에 충실해야한다.

책임과 역할을 철저히 분리하여, 객체 지향 설계를 적용하여 원리가 적용되어야 한다.

 

 

-> 장점으로는 깔끔한 코드와 간편한 테스트, 객체 지향적인 설계에 자유롭게 적용이 가능하다.

 

POJO Framework란 무엇일까

POJO프레임워크란 POJO 프로그래밍이 가능하도록 기술적인 기반을 제공하는 프레임워크이다.

spring framework와 hibernate가 해당 프레임 워크로 뽑을수 있다.

 

근데 hibernate는 특정 기술에 종속적이지 않는데, 왜 POJO 프레임워크일까?

이유는 JPA라는 표준 인터페이스를 정해버렸기 때문이다.

 

JPA라는 표준 인터페이스가 있고, 모든 사용자가 JPA를 사용할때 이 표준 인터페이스에 따라 개발을 진행하기 때문에

스프링은 신규 기술을 도입해도, POJO프레임워크의 형태가 가능한 것이다.

반응형