필드 접근방식에 대한 챕터이다.

우리는 클래스를 만들때

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

이런식으로 public field 접근을 하는 것이 아닌

다음 처럼 getter나 setter와 같은 접근자를 만든다.

class Point{
    private double x;
       private double y;

    public Point(double x, double y){
        this.x = x;
        this.y = y;
    }

    public double getX(){return x;}
    public double gety(){return y;}

    public double setX(double x){return this.x = x;}
    public double sety(double y){return this.y =y;}
}
public 클래스의 필드가 불변이라면 직접 노출할 때의 단점이 조금은 줄어들지만

API를 변경하지 않고는 표현 방식을 바꿀 수 없고, 

필드를 읽을 때 부수 작업을 수행할 수 없다는 단점이 있다.

--> 책에서 언급한 내용인데 적절한 예시가 떠오르지 않아서 나중에 정리해봐야겠다.

+ Recent posts