[Kor]
일반적인 객체지향 프로그래밍(Object-Oriented-Programming) 에서는 외부에서 객체 자체의 필드에 접근하는 것을 금한다.
그래서 그 대안으로 메소드를 사용해서 필드를 변경하는 방법이 있는데, 이를 통하면 유효한 값들로만 필드를 구성할 수 있을 뿐만 아니라, 매개값들을 검증할 수 있게 된다.
되도록 아래 speed 변수와 같은 경우 private을 선언해서 외부로부터 보호해가며 사용하는 것이 좋다.
Setter() 메소드 : 값을 확인하여 유효한 값들만 객체의 필드로 저장.
Getter() 메소드 : 필드의 값을 가공한 후 외부로 전달.
public class MotorBike {
//state
private int speed;
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
void start() {
System.out.println("Operated successfully");
}
}
MotorBike.java
public class MotorBikeRunner {
public static void main(String[] args) {
MotorBike Hyundai = new MotorBike();
MotorBike Tesla = new MotorBike();
Hyundai.start();
Tesla.start();
Hyundai.setSpeed(100);
System.out.println(Hyundai.getSpeed());
Tesla.setSpeed(80);
System.out.println(Tesla.getSpeed());
Hyundai.setSpeed(20);
Tesla.setSpeed(0);
}
}
MotorBikeRunner.java