신변잡기 분석 및 설계

블로그 이미지

큐그

IT 관련 및 신변잡기에 대한 포스팅을 해보고자 하는 블로그입니다.

[아이템 16] public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라

IT 개발/개념 정리 2022. 5. 14. 11:48

 

우리가 알게 모르게 이제는 습관화가 되어버린 class 작성 시 데이터 필드는 private으로 접근을 제한하고 setter, getter를 통해 패키지 바깥에서 접근할 수 있게 하는 방식이 이번 장의 핵심이다.

 

  • package-private 클래스 혹은 private 중첩 클래스라면 데이터 필드를 노출한다 해도 문제가 없다. 

package-private 클래스의 경우 패키지 내부에서만 접근이 가능하고 private 중첩 클래스의 경우 중첩 클래스의 상위 클래스에서만 접근제한이 가능하기에 public으로 공개된 필드보다 낫다.

 

  • public final 등 불변으로 노출하게 되면 위험성은 조금 줄어든다.

public 필드 보다는 불변이라 값이 변경될 여지는 적지만 public으로 공개한 시점에서 API를 변경하지 않고는 표현 방식을 수정할 수 없고 필드에 접근하는 순간 특정 동작이 실행되게 만들 수는 없어 여전히 단점은 존재한다.

 

 

 

뒷 장에서 확인할 내용

아이템 67의 내부를 노출한 Dimension클래스의 성능 문제

반응형
저작자표시 비영리 변경금지 (새창열림)

'IT 개발 > 개념 정리' 카테고리의 다른 글

[아이템 18] 상속보다는 컴포지션을 사용하라  (0) 2022.05.14
[아이템 17] 변경 가능성을 최소화하라  (0) 2022.05.14
[아이템 15] 클래스와 멤버의 접근 권한을 최소화하라  (0) 2022.05.13
[이펙티브 자바 3장] 모든 객체의 공통 메서드  (0) 2022.05.02
[ssh known_hosts]  (0) 2022.03.16
Posted by UIJ
블로그 이미지

IT 관련 및 신변잡기에 대한 포스팅을 해보고자 하는 블로그입니다.

by 큐그

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • 오마카세
  • bytearrays -> string
  • 이펙티브 자바 3/E
  • 맛집리뷰
  • 리뷰
  • ClassCastException
  • 매개변수
  • 이펙티브 자바
  • 맛집
  • IntelliJ
  • 자바
  • CGLIB Proxy
  • 클래스와 인터페이스
  • require_new
  • bytearrays
  • Spring Batch
  • group_concat querydsl
  • 상속
  • effective java
  • 제네릭
  • 에러
  • 데이터베이스
  • 오류
  • Effective JAVA 3/E
  • ArithmeticException
  • 인터페이스
  • MvcRequestMatcher
  • Target클래스
  • java
  • 네트워크

글 보관함

«   2025/06   »
일 월 화 수 목 금 토
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

링크

카테고리

분류 전체보기 (65)
IT 개발 (58)
개념 정리 (30)
명령어 (2)
에러 (17)
코딩테스트 (2)
초대장 (1)
구매 (2)
맛집 (3)
식당 (2)
카페 (1)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
큐그's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

신변잡기 분석 및 설계

IT 관련 및 신변잡기에 대한 포스팅을 해보고자 하는 블로그입니다.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (65)
    • IT 개발 (58)
      • 개념 정리 (30)
      • 명령어 (2)
      • 에러 (17)
      • 코딩테스트 (2)
    • 초대장 (1)
    • 구매 (2)
    • 맛집 (3)
      • 식당 (2)
      • 카페 (1)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바