티스토리 뷰

클래스나 필드를 아무 이유 없이 public으로 선언한다면?

  • 캡슐화의 이점을 제공하지 못함.
  • API를 수정하지 않고는 내부 표현 수정 불가
  • 불변식 보장 불가
  • 외부에서 필드에 접근할 때 부수 작업을 수행할 수 없음

→ 필드의 접근 제한자를 public → private 변경 및 setter, getter 추가를 통해 패키지 외부에서 접근하는 클래스에게 접근자 제공.

  • 주의사항.package-private 클래스 혹은 private 중첩 클래스라면 데이터 필드를 노출한다 해도 문제 없으며 그 클래스가 표현하는 추상 개념만 올바르게 표현하면 문제 없음. 클라이언트 코드가 클래스 내부 표현에 묶이기는 하지만, 클라이언트도 어차피 이 클래스를 포함하는 패키지 안에서만 동작하는 코드이기 떄문이다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함