POJO, Java Beans

2024. 1. 23. 17:09·2024 SW ACADEMY

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
'2024 SW ACADEMY' 카테고리의 다른 글
  • JAVA Servlet / jsp (3)
  • JAVA Servlet / jsp (1)
  • CSS/JAVASCRIPT
  • 관계 대수 질의
폐프
폐프
  • 폐프
    폐프의삶
    폐프
  • 전체
    오늘
    어제
    • 분류 전체보기 (44)
      • 2023 하계 모각코 (12)
      • 2023-24 동계 모각코 (8)
      • 2024 SW ACADEMY (5)
      • Spring (1)
      • JPA (0)
      • JAVA (2)
      • Database (11)
      • OS (5)
      • Network (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
폐프
POJO, Java Beans
상단으로

티스토리툴바