- 객체가 가지고 있는 데이터를 외부로부터 변질되지 않게 보호하는 방법
public - 외부로부터 데이터를 쉽게 입출력하여 외부로부터 데이터가 변질가능
private - 외부로부터 데이터를 보호
데이터를 보호하기 위해 private로 설정하였는데 외부에서 접근할 수 없고,
그 데이터는 한번 설정이 초기화되면 외부에서 접근할 수가 없다.
그렇기 때문에 메소드를 통해 접근할 수 있도록 setter, getter를 사용한다.
ex) 이름은 영구적으로 변경할 수 없다 라고 한다면 gettr, setter에서 setter를 모두 지우면 된다.
// 중요
멤버 변수는 private이고 변경하려는 setter는 public
public void setExample () {
this.example = example;
}
라고 한다면 어차피 setter를 public으로 사용하는데 뭐하러 멤버변수에서 private으로 했는지 의문이 들 수 있지만
이는 안전장치라고 보면 된다.
ex) 급여를 줄때 최저임금 이하로는 줄 수 없는 프로그램을 만들 때
- 최저임금 이하로 줬을때 알람이 울린다던지
- public void setExample () {
if( example > 50) {
this.example = example;
}
}