춘식이왔엉
초보 개발자의 기록
춘식이왔엉
  • 분류 전체보기
    • ElasticSearch
    • ETL
    • 네트워크
    • 교육과정 기록
      • 🎨UI구현
      • 💻back-end
      • Java Script
      • jQuery
      • 💾DB & SQL
      • ☕ Java
      • 🧇 Python
      • 🪀알고리즘
    • 📘에러 노트
    • git
    • 자유로운 이야기
      • 📚자격증
      • 🏋️‍♂️운동 기록

블로그 메뉴

  • 홈
  • 태그
  • 방명록

티스토리

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
춘식이왔엉

초보 개발자의 기록

교육과정 기록/☕ Java

자바빈즈 클래스 ( java beans class)

2022. 4. 6. 23:15

 🥔자바클래스 중에, 아래의 조건을 지키는 클래스를

특별히 '자바빈즈(java beans)' 클래스라고 함.

 


      1) private 접근제한자로 필드를 선언한다. (캡술화)      (필수)

   2) 각 필드에 대해서, getter 메소드와 setter 메소드를 갖는다.     (필수)

   3) (매개변수가 없는) 기본 생성자가 반드시 존재해야 된다.          (필수)

   4) implements Serializable ( java.io.Serializable Tag 인터페이스)        (선택)

 


* Getter 메소드

 

  * 각 필드의 값을 반환해주는 메소드 (기능)

   * 매개변수를 가지지 않음 (왜? 필드의 값을 반환하는 기능이기 때문에)

* 메소드의 이름을 지을 때, 아래와 같은 규칙(***)

       'get'(prefix) + <필드명> => 필드타입 get필드명()   { ... }

       예: private String name = "Yoseph";

          'get' + name ==> 

          // name 필드에 대한 Getter 메소드 선언
          public String getName() {
             return this.name;
          } // getName

 


* Setter 메소드


   * 각 필드에 새로운 값을 대입(변경)해주는 메소드 (기능)

   * 매개변수를 가져야함 (왜? 필드에 넣어줄 새로운 값이 필요하니까)


   * 메소드의 이름을 지을 때, 아래와 같은 규칙(***)

       'set'(prefix) + <필드명> => void set필드명(필드타입 매개변수명) { ... }

       예: private String name = "Yoseph";

          'set' + name ==> 

          // name 필드에 대한 Setter 메소드 선언
          public void setName(String name) {
             this.name = name;
          } // setName

 


* 일반적인 클래스가, 위의 규칙을 지켜서, "자바빈즈" 클래스가 되면,
  아래의 새로운 성질이 생긴다!

  새로운 성질 ===> "프로퍼티" ( 속성 )

  (1) "프로퍼티" != 필드


  (2) "프로퍼티" = Getter or Setter 메소드에서 접두사(get/set) 제거한 이름

       getName => Name => name : 이게 바로 프로퍼티
       setName => Name => name : 이게 바로 프로퍼티

       만약, 아래와 같이 필드에 대해서 Getter/Setter 이름을 다르게 짓는다면
       이때는 절대 프로퍼티이름 != 필드이름.

       public String getMyName() {  ======> MyName => myName (프로퍼티이름)
             return this.name;
       } // getMyName

       public void setMyName(String name) { => MyName => myName (프로퍼티이름)
            this.name = name;
       } // setMyName

    (3) 자바언어로, Mission Critical(아주 중요한) 기업업무를 웹서비스로 만들때,

이 자바빈즈 클래스로 비지니스 데이터를 저장하는 객체를 만든다.
        - JSP/Servlet, Spring, J2EE, EJB, ....
        - 프로퍼티를 통해, 필드의 값을 조작(읽기/쓰기)
        - 결국 가장 중요한 비지니스 데이터를 보호해주는 역할

'교육과정 기록 > ☕ Java' 카테고리의 다른 글

4.8 OOP - 싱글톤 / final / 패키지  (0) 2022.04.08
4.5~4.6 OOP와 클래스  (0) 2022.04.07
4.4 객체지향프로그래밍(OOP)  (0) 2022.04.05
4.1 열거타입  (0) 2022.04.02
4.1 배열  (0) 2022.04.01
    '교육과정 기록/☕ Java' 카테고리의 다른 글
    • 4.8 OOP - 싱글톤 / final / 패키지
    • 4.5~4.6 OOP와 클래스
    • 4.4 객체지향프로그래밍(OOP)
    • 4.1 열거타입
    춘식이왔엉
    춘식이왔엉
    개발 공부를 하면서 정리하는 블로그입니다.

    티스토리툴바