JavaBean의 Property란?

2025. 4. 23. 13:48High Level Programming Language/Learning the Java Language

자바빈(JavaBean)의 속성(Property)은 간단히 말해, private 필드와 그 필드를 읽고 쓰기 위한 public getter/setter 메서드로 구성된 객체의 상태 정보입니다.

 

✅ 1. 자바빈 속성의 정의

  • 속성(property)은 내부적으로 private 필드이며,
  • 외부에서는 해당 필드를 public 메서드(getter/setter)를 통해 접근합니다.

즉, 속성은 다음과 같은 구성으로 정의됩니다:

public class Person {
    private String name;  // ← 속성 (Property)

    public String getName() {  // getter
        return name;
    }

    public void setName(String name) {  // setter
        this.name = name;
    }
}

위 예시에서 namePerson 클래스의 속성입니다.
외부에서는 getName()setName(String) 메서드를 통해 접근할 수 있습니다.

 

✅ 2. 자바빈 속성의 명명 규칙

자바빈은 다음과 같은 명명 규칙을 따릅니다:

구성 요소 규칙
필드 이름 일반적으로 private이고 소문자로 시작
getter get + 대문자로 시작하는 필드명 (예: getName)
setter set + 대문자로 시작하는 필드명 (예: setName)
boolean 타입 속성 is 접두어를 사용할 수 있음 (예: isActive)
private boolean active;

public boolean isActive() { return active; }

public void setActive(boolean active) { this.active = active; }

 

✅ 3. 속성의 목적

자바빈의 속성은 캡슐화(encapsulation) 원칙을 따르며 다음과 같은 이유로 사용됩니다:

  • 내부 데이터 보호
  • 명확한 인터페이스 제공
  • 프레임워크(JSP, Spring 등)에서 자동으로 값을 주입하거나 읽기 쉬움
  • 직렬화, 바인딩 등에 유리함

 

✅ 4. 속성의 종류

속성은 다음과 같이 구분될 수 있습니다:

속성 종류 설명
읽기 전용 getter만 있고 setter 없음
쓰기 전용 setter만 있고 getter 없음 (드물지만 가능)
읽기/쓰기 gettersetter 둘 다 있음

 

✅ 5. 자바빈 속성과 프레임워크 연계

  • JSP/Servlet: <jsp:useBean> 태그에서 속성 값을 자동 설정
  • Spring: @ModelAttribute, @RequestBody, @Value 등에서 Bean 속성 자동 주입
  • Jackson: JSON 직렬화/역직렬화 시 getter/setter 기반으로 필드 바인딩

참고 : POJO vs JavaBean