접근 제어자
private
해당 클래스 내부에서만 호출 가능
default(package-private)
같은 패키지 안에서 호출은 허용
protected
같은 패키지안에서 호출은 허용, 패키지가 달라도 상속 관계의 호출은 허용
public
모든 외부 호출을 허용
💡 private < default < protected < public
💡 생성자도 접근 제어자 관점에서 메서드와 같다. (접근 제어자 동일하게 적용)
접근 제어자 사용 - 클래스 레벨
- 클래스 레벨의 접근 제어자는 public, default 만 사용 가능
- private, protected는 사용 불가
- public 클래스는 반드시 파일명과 이름이 같아야 한다.
- 하나의 자바 파일에 public 클래스는 하나만 등장 가능
- 하나의 자바 파일에 default 클래스는 무한정 만들 수 있음
캡슐화
데이터와 메서드를 하나로 묶어 외부에서의 접근을 제한하는 것
→ 클라이언트에게 필요한 기능만 노출
1. 데이터를 숨겨라
객체의 데이터는 객체가 제공하는 기능인 메서드를 통해서 접근해야 한다.
2. 기능을 숨겨라
사용자 입장에서 꼭 필요한 기능만 외부에 노출한다.
💡 데이터는 모두 숨기고, 꼭 필요한 기능만 노출하는 것이 좋은 캡슐화다.
💡 데이터는 private, 밖에서 사용될 메서드는 public
참고) 김영한 - 실전 자바
'BACK > JAVA' 카테고리의 다른 글
[JAVA] 상속과 오버라이딩, super (0) | 2024.01.30 |
---|---|
[JAVA] Final 키워드 (1) | 2024.01.30 |
[JAVA] 생성자, this (1) | 2024.01.30 |
[JAVA] 객체 지향 프로그래밍이란? (0) | 2024.01.30 |
[JAVA] 기본형과 참조형 (0) | 2024.01.30 |