공부한것들을 정리하는 블로그 입니다.
접근제어자 public, protected, private 본문
요약 :
종류 | 클래스 | 하위 클래스 | 동일 패키지 | 모든 클래스 |
private | O | X | X | X |
(default) | O | X | O | X |
protected | O | O | O | X |
public | O | O | O | O |
- private
자기 자신 클래스 내에서만 이용할 수 있는 멤버를 선언할 때 사용.
- (default)
동일 패키지에 속하는 클래스만 접근할 수 있는 멤버.
- protected
동일 패키지와
동일 패키지에 포함되지는 않지만 하위 클래스 관계에 있는 클래스도 접근 가능.
- public
모든 클래스에 의해 접근할 수 있다.
즉, 접근 제약이 없다.
위의 modifier(제어자)는 변수의 선언, 생성자, 메소드 모두에 공통으로 적용된다.
변수나 메소드를 선언할 때 접근을 제어할 수 있는 modifier를 설정할 수 있다. 이러한 접근 관련 modifier를 통해서 객체지향 언어의 중요 특성 중 하나인 캡슐화(encapsulation)과 정보 숨김(information hiding)을 구현할 수 있다.
* 접근 제어자
구분 | modifier | 설명 |
접근 권한 | public | 모든 클래스에서 접근이 가능함을 의미한다. |
protected | 동일 패키지에 속하는 클래스와 하위 클래스 관계의 클래스에 의해 접근이 가능하다. | |
private | 클래스 내에서만 접근이 가능하다 |
* 접근 권한
종류 | 클래스 | 하위 클래스 | 동일 패키지 | 모든 클래스 |
private | O | X | X | X |
(default) | O | X | O | X |
protected | O | O | O | X |
public | O | O | O | O |
- private
접근 관련 modifier 중에서 가장 권한 범위가 좋은 modifier로 자기 자신 클래스 내에서만 이용할 수 있는 멤버를 선언할 때 사용한다.
- (default)
접근 관련 modifier를 지정하지 않은 경우이다. 이는 동일 패키지에 속하는 클래스만 접근할 수 있는 멤버이다.
- protected
동일 패키지와 동일 패키지에 포함되지는 않지만 하위 클래스 관계에 있는 클래스도 접근할 수 있다.
- public
모든 클래스에 의해 접근할 수 있다. 즉, 접근 제약이 없다.
위의 modifier는 변수의 선언, 생성자, 메소드 모두에 공통으로 적용된다.
'JAVA > 공부' 카테고리의 다른 글
싱글톤(Singleton) 디자인패턴 (0) | 2022.04.23 |
---|---|
gmail로 email 인증번호 보내기(비밀번호 찾기 기능/ 회원가입시 이메일 인증/smtp) (2) | 2019.12.13 |
추상클래스와 인터페이스 (0) | 2018.11.10 |
JAVA의 배열 길이와 문자열 길이 (0) | 2017.07.30 |
자바면접 질문유형 (0) | 2017.07.30 |
final과 static의 용도 및 용어정리(변수, 메소드, 클래스) (0) | 2017.07.30 |
JAVA8에 추가된 interface 기능(default method와 익명 구현 객체) (0) | 2017.07.30 |
statement와 prestatement의 차이 (0) | 2017.07.30 |