Java Beans
- 객체 지향 프로그래밍의 가장 큰 이점 중 하나는 다른 프로그램에서도 객체를 다시 사용할 수 있다는 것이다.
- 자바빈은 자바빈 규격이라는 엄격한 지침을 따라서 다른 객체와 아주 쉽게 쓰일 수 있다.
- 즉 Java Beans는 java로 작성재사용 가능한 소프트웨어 컴포넌트이다.
POJO (Plain Old Java Object)
- 특정 기술과 환경에 종속되어 의존하게 된 자바 코드는 가독성이 떨어져 유지보수가 어렵고 확장성이 떨어진다.
- 이는 객체지향 언어인 자바가 객체지향의 장점을 잃어버리는 것이기 때문에 POJO라는 개념이 등장했다.
POJO 프레임워크
- POJO 프레임워크란 POJO 프로그래밍이 가능하도록 기술적인 기반을 제공하는 프레임워크이다.
- 엔터프라이즈 환경에서의 각종 서비스와 기술적인 필요를 POJO 방식으로 만들어 코드에 적용할 수 있다.
POJO 조건
- 특정 규약에 종속되지 않는다.
- java 언어와 꼭 필요한 API 외에는 종속되지 말아야한다.
- 특정 환경에 종속되지 않는다.
- 특정 기업의 프레임워크나 서버에서 동작하는 코드라면 POJO라고 할 수 없다.
- 특정 환경에 종속적인 기술을 담고있는 인터페이스/클래스를 사용해서는 안된다.
- 객체지향적 원리에 충실해야한다.
- 자바 문법을 사용했다고 객체지향 프로그래밍과 설계가 적용되었다고 볼 수 없다.
POJO 장점
- 깔끔한 코드
- 간편한 테스트
- 객체지향적인 설계
- 객체지향 프로그램은 복잡한 도메인을 가진 곳에서 효과적이다.
Java Beans
- Java Beans는 java로 작성된 소프트웨어 컴포넌트이다.
- Java Beans는 “빌더 형식의 개발도구에서 가시적으로 조작이 가능하고 또한 재사용이 가능한 소프트웨어 컴포넌트이다.” 라고 정의되어있다.
- Java Beans 지켜야할 관례
- 클래스는 직렬화 되어있어야 한다.
- 클래스는 기본 생성자를 가지고 있어야 한다.
- 클래스의 속성들은 get,set 혹은 표준 명명법을 따르는 메소드를 사용해 접근할 수 있어야한다.
- 클래스는 필요한 이벤트 처리 메소드들을 포함하고 있어야한다.
POJO VS Java Beans
Java Beans는 특별한 POJO의 변형이라고 할 수 있다. 따라서 Java Beans는 POJO이지만 POJO는 Java Beans라고 할 수 없다.
POJO클래스나 Bean은 모두 가독성과 재사용성을 높이기 위해 Java 객체를 정하는데 사용된다.
POJO에는 다른 제한사항이 없지만 Bean은 몇 가지 제한사항이 있는 특수한 POJO이다.
| POJO | JavaBeans |
| Java language에 의해 강제되는 것 외에는 특별한 제한이 없습니다. | 몇 가지 제한 사항이 있는 특수 POJO 객체입니다. |
| Field에 대한 통제를 제공하지 않습니다. | Field에 대한 통제를 제공합니다. |
| 직렬화 가능한 인터페이스를 구현할 수 있습니다. | 반드시 직렬화 가능한 인터페이스를 구현해야 합니다. |
| 필드는 이름으로 접근할 수 있습니다. | 필드는 getter, setter에서만 접근할 수 있습니다. |
| 인수가 없는 default생성자가 있을 수도 있고 없을 수도 있습니다. | 반드시 인수가 없는 default생성자가 존재해야 합니다. |
'2024 SW ACADEMY' 카테고리의 다른 글
| JAVA Servlet / jsp (3) (0) | 2024.01.22 |
|---|---|
| JAVA Servlet / jsp (1) (0) | 2024.01.19 |
| CSS/JAVASCRIPT (2) | 2024.01.17 |
| 관계 대수 질의 (0) | 2024.01.10 |