-
자바 빈(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()); } }
출처
반응형'우아한 테크코스 > 테크코스' 카테고리의 다른 글
[Java] String 연결 (0) 2020.02.19 [Java] For문(For Loop / Enhanced For Loop / For Each) (0) 2020.02.19 d2 coding 글꼴 적용(맥 / 인텔리제이) (0) 2020.02.18 [Java] UnsupportedOperationException - 배열 asList 관련 에러 (0) 2020.02.17 [Java] 예외일 경우, 반복하여 실행하기 (2) 2020.02.15