JavaBean의 Property란?
2025. 4. 23. 13:48ㆍHigh 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;
}
}
위 예시에서 name
은 Person
클래스의 속성입니다.
외부에서는 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 없음 (드물지만 가능) |
읽기/쓰기 | getter 와 setter 둘 다 있음 |
✅ 5. 자바빈 속성과 프레임워크 연계
- JSP/Servlet:
<jsp:useBean>
태그에서 속성 값을 자동 설정 - Spring:
@ModelAttribute
,@RequestBody
,@Value
등에서 Bean 속성 자동 주입 - Jackson: JSON 직렬화/역직렬화 시 getter/setter 기반으로 필드 바인딩
참고 : POJO vs JavaBean
'High Level Programming Language > Learning the Java Language' 카테고리의 다른 글
Object.equals() (0) | 2025.04.23 |
---|---|
POJO vs JavaBean (0) | 2025.04.23 |
자바의 오버라이딩과 공변 리턴 타입(Covariant Return Type) 완벽 가이드 (1) | 2025.04.23 |
하위 클래스와 내부 클래스의 private 멤버 접근 이해하기 (0) | 2025.04.23 |
Lesson: Annotations (0) | 2024.07.06 |