: 외부에서 정해진 범위 이외의 값을 입력했을 때, 즉, '객체의 무결성'이 깨질 때, 이러한 문제점을 해결하기 위해 메소드를 통해 데이터를 바로잡는 것.
ex) 자동차의 속도로 나올 수 없는 음수값이 나올 때, 이를 0으로 돌리고 0 이상이면 내버려둔다는 장치를 설정.
void setSpeed(double speed) {
if(speed < 0) {
this.speed = 0;
return;
} else {
this.speed = speed;
: 객체 외부에서 객체의 필드값을 사용하기 부적절할 때, 메소드를 통해 필드값을 가공. 주로 단위 변환에 사용.
ex) 자동차의 속도를 마일에서 km단위로 환산.
double getspeed() {
double km = spped*1.6;
return km;
}
private 타입 fieldName;
//Getter
public 리턴타입 getFieldName() {
return fieldName;
}
//Setter
public void setFieldName(타입 fieldName) {
this.fieldName = fieldName;
}