public class Member {
private Long id;
private String name;
private Grade grade;
public Member(Long id, String name, Grade grade) {
this.id = id;
this.name = name;
this.grade = grade;
}
public void setId(Long id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setGrade(Grade grade) {
this.grade = grade;
}
public Long getId() {
return id;
}
public String getName() {
return name;
}
public Grade getGrade() {
return grade;
}
}
위와 같이 객체를 생성하고 변수를 private로 선언하고 변수를 읽고, 수정하는 getter, setter 함수를 만들어서 사용하는 이유는 캡슐화의 원칙을 따르기 위해서이다. 캡슐화는 객체 지향 프로그래밍의 핵심 원칙 중 하나로, 객체의 상세한 내부 구현을 숨기고 외부로부터 직접적인 접근을 제한함으로써 데이터 보호와 객체의 무결성을 유지하는 데 중요하다. 여기에는 몇 가지 주요한 이유가 있다.