접근 제어자
getter/setter
private 필드에 직접 접근할 수 없을 때, 보통 getter 메서드와 setter 메서드를 제공한다. 이렇게 하면 객체를 안전하게 조회하거나 변경할 수 있다.
public class TestForInt {
private int number;
// getter
public int getNumber() {
return number;
}
// setter
public void setNumber(int number) {
if (number != 0) {
this.number = number;
}
}
}
*get + 변수명 (낙타 표기법)
*set + 변수명 (낙타 표기법)
public class TestForBoolean {
private boolean stop;
// getter
public boolean isStop() {
return isStop;
}
// setter
public void setStop(boolean stop) {
this.stop = stop;
}
}
*is + 변수명 (낙타 표기법)
*set + 변수명 (낙타 표기법)
▶ boolean 타입의 경우, get이 아닌 is를 쓰는 이유는 거창한 이유 없이 더 자연스럽기 때문이다.
무분별한 Getter/Setter 사용은 객체 지향의 핵심인 '정보 은닉'을 저해시킬 수 있다. 따라서 꼭 필요한 경우가 아니라면 사용하지 않는 것이 낫다. (이에 대해선 추후 자세히 다루도록 하겠다.)
추가로, 불변 객체의 경우 관례상 set 대신 with을 사용한다. 이 내용도 나중에 정리해서 다시 올리도록 하겠다.
728x90
'프로그래밍 > 배웠어, 자바' 카테고리의 다른 글
[Java] 객체 지향 프로그램과 다형성 (1) | 2025.01.27 |
---|---|
[Java] super 키워드 / 상속과 메모리 구조 (2) | 2025.01.23 |
[Java] static final / 매직 넘버와 상수 (2) | 2025.01.21 |
[Java] 자바의 메모리 구조 (1) | 2025.01.20 |
[IntelliJ] 인텔리제이 단축키 모음 (0) | 2025.01.10 |