ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 빈(Java Bean)이란?
    우아한 테크코스/테크코스 2020. 2. 18. 23:16
    반응형

    형식

    - 인수가 없는 생성자가 있어야 함

    - 직렬화가 가능해야 함

    - getter 및 setter 메서드라는 특정 값을 가져오고 설정하는 메서드가 있어야 함

    사용하는 이유

    - 재사용 가능한 소프트웨어 컴포넌트

    - 많은 objects들을 하나로 묶어, 많은 곳에서 해당 객체에 접근할 수 있도록 캡슐화함

    - 유지하기도 쉬움

    항목(속성;property)

     JavaBean의 멤버변수를 속성(property)이라 부름 / private

     JavaBean 속성은 개체의 사용자가 액세스할 수 있는 명명된 기능. 기능은 정의한 클래스를 포함하는 모든 Java 데이터 유형일 수 있음.

     JavaBean 속성은 읽기, 쓰기, 읽기 전용 또는 쓰기 전용일 수 있음. JavaBean 기능은 JavaBean의 구현 클래스의 두 가지 방법을 통해 액세스

    - getPropertyName() : 게터(getter) - 해당 속성에 접근 - accessor라고 부름

        - 단, Property 타입이 boolean일 경우 is로 시작하는 네이밍도 허용

        - 매개변수가 존재하지 않음

    - setPropertyName() : 세터(setter) - 해당 속성을 작성 - mutator라고 부름

    장점

    - 자바 빈으로 관리하는 항목 및 메서드는 외부 프로그램에서 접근할 수 있음

    - 소프트웨어 구성 요소를 쉽게 재사용할 수 있음

    단점

    - 자바 빈은 변경 가능하므로 불변 객체를 이용할 수 없음

    - 각 항목에 대해 setter와 getter를 추가하면, boilerplate(상용구) 코드가 생길 수 있음

    boilerplate(보일러 플레이트) 코드 : 꼭 필요하지만, 반복적으로 작성될 수 있다는 것!
    여기서는 getter와 setter를 항목마다 작성해줘야 되는 부분을 얘기하는 듯 함

    예제

    // Employee.java  
      
    package mypack;  
    
    public class Employee implements java.io.Serializable {
        private int id;
        private String name;
        public Employee() {
        }  
        public void setId(int id) {
            this.id=id;
        }
        public int getId() {
            return id;
        }
        public void setName(String name) { 
            this.name=name;
        }
        public String getName(){
            return name;
        }  
    }
    
    // Test.java
    package mypack;
    
    public class Test {
        public static void main(String args[]){  
            Employee e = new Employee(); // object is created  
            e.setName("jamie");          // setting value to the object  
            System.out.println(e.getName());  
        }
    }  

    출처

    https://www.javatpoint.com/java-bean

    반응형

    댓글

Designed by Tistory.