나쁜 노출: 필드가 public
public
balance외부 코드가
account.balance = -100;처럼 값을 직접 바꾼다.검증 지점이 흩어지고 객체 불변식이 깨진다.
좋은 클래스는 외부가 내부 필드를 외우게 하지 않고, 검증된 public 동작만 의존하게 만든다.
balanceaccount.balance = -100;처럼 값을 직접 바꾼다.balancedeposit(), withdraw()