Java/제대로 파는 자바
[제대로 파는 자바 (Java)-by 얄코] 접근 제어자(접근 제한자, access modifier)
개발송아지
2024. 2. 27. 15:21
해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다.
- 다른 누군가가 쓰게 할 클래스 : 구성요소 중 일부만 밖으로 공개
- 사용중 오용이나 혼란을 방지
- ⭐ 캡슐화 encapsulation
클래스의 특정 요소를 감추는 이유
- ‘감추는’ 것이 아님 - 코드로 확인 가능
- 라이브러리 예시 확인
- 폰도 부숴서 확인할 수 있듯이…
- 작성자의 의도대로 사용하도록 하기 위함
- 쓰라고 의도한 기능만 공개(IDE의 자동완성 등)하여 혼란 방지
- 내부적으로 수많은 필드들이 사용된다면?
- 제한이 오히려 편의를 제공
- 필드에 부적절한 값이 적용되는 등의 오용 방지
- 다른 클래스와 복합적으로 사용될 경우 혼선 방지
- 스마트폰 - PC 연결은 USB 케이블로만…
- 쓰라고 의도한 기능만 공개(IDE의 자동완성 등)하여 혼란 방지
- 기타 다양한 이유
접근 가능
|
public
|
protected
|
default
|
private
|
해당 클래스 안에서
|
✅
|
✅
|
✅
|
✅
|
동일 패키지 안에서
|
✅
|
✅
|
✅
|
|
동일 패키지 또는 자손 클래스 안에서
|
✅
|
✅
|
|
|
다른 패키지 포함 어느 곳에서든
|
✅
|
|
|
|
- private : 클래스 내부에서만 접근할 수 있음
- 스마트폰의 부속품들이 기기 안쪽에서만 연결/접근되는것처럼…
Getter와 Setter
- 메뉴 - 코드 - 생성
- 윈도우: alt + inseert
- 맥: command + N
- getter 및 setter 선택
- name과 price 선택