Closed cheewr85 closed 2 years ago
결국 해당 아이템에서는 public 클래스인 경우 public 필드로 두면서 쉽게 쉽게 마구잡이로 접근해서 쓸 수 있게 만드는 것이 아니라 캡슐화를 하라고 하는 것, 설령 그것이 인스턴스 필드만 모아두는 클래스더라도
왜냐하면 그렇게 하지 않으면 객체 지향 프로그래밍의 이점을 하나도 얻지 못하기 때문에
그래서 캡슐화를 다시 알아본다면 멤버 변수 앞에 private
제어자를 붙이고 멤버 변수의 값을 넣고 꺼내 올 때 getter/setter를 만들어서 메소드화 하는 것을 의미함
이렇게 한다면 아무리 public 클래스에 인스턴스 필드만 모아도 public 클래스로 노출되어도 문제가 없음, 이런식의 public 클래스 상에서 은닉화를 잘 활용하면 됨
[질문] 102pg
캡슐화의 이점을 제공하지 못한다고 하였는데 흔히 인스턴스 필드만 모아두는 클래스가 있는데 그럼 캡슐화는 정확히 어떻게 해야 그 이점을 써먹게끔 코드를 설계할 수 있는가