아래는 안좋은 class의 예다.

class Poing {
	public double x;
	public double y;
}

이런 클래스는 데이터 필드에 직접 접근할 수 있으니 캡슐화의 이점을 제공하지 못한다. 아래의 내용을 확인하자

public void setX(double x) {
    if (Double.isNaN(x)) throw ...
    this.x = x;
}

최소한 규칙을 강제할 수 있다.