IT 연구소
getter 와 setter
ron_nie
2023. 6. 29. 17:09
728x90
1. 사용이유
내부 상태를 캡슐화 하고 개체에 대한 액세스를 제어한다.
- get : 변수 값 검색
- set : 값 수정
2. 이점
- 캡슐화
- 데이터 유효성 검사
- 유연성
3. 활용
게임에서 스탯을 찍을 때 -1로 만들 수 있다면 문제가 생길 것. 만약 -1로 만든다고 할 때 0으로 자동 초기화시켜주는 코드를 만들어보자.
public class stat {
int dex;
int getDex(){
return dex;
}
void setDex(int dex){
if(dex < 0){
this.dex = 0;
}else{
this.dex = dex;
}
}
}
이렇게 validation을 설정하고 main으로 가서
public class main {
stat character = new stat();
character.setDex(-9999);
System.out.println(chracter.getDex()); // 0
}
이상한 숫자를 입력하더라도 set에서 수정해서 get으로 출력하기 때문에 이상한 버그를 제어할 수 있다.
반응형