캡슐화와 접근 제어 예제가 실행되는 순서
공개 메서드로 요청 수신에서 시작해 유효할 때만 상태 변경까지 값과 책임이 이동한다.
-
1
공개 메서드로 요청 수신
필드를 private으로 두면 외부는 공개 메서드를 통해서만 상태를 바꿉니다.
-
2
private 상태와 규칙을 함께 검사
접근 지정자를 생략한 package-private은 같은 패키지에서만 보입니다.
-
3
유효할 때만 상태 변경
같은 패키지와 하위 클래스에 보이므로 단순히 public보다 조금 좁은 접근으로 생각하면 안 됩니다.
실행 순서 두 번째 spend는 잔액보다 커서 상태를 바꾸지 않고 false를 반환합니다.