프로그래밍/JAVA

[JAVA] 접근지정자(Access Specfier)

노력의천재 2020. 7. 26. 02:08

자바의 4가지 접근 지정자

접근 지정자(Access Specifier)는 클래스나 멤버들을 다른 클래스에서 접근해도 되는지의 여부를 선언하는 지시어

자바에는 private, protected, public, default 4가지 접근 지정자가 존재

 

클래스 접근 지정

다른 클래스에서 이 클래스를 활용할 수 있는지 허용 여부를 지정하는 것

 

public 클래스

클래스 이름 앞에 public으로 선언된 클래스

패키지에 상관없이 다른 어떤 클래스에게도 사용이 허용

 

// public 클래스
public class Public {
	..........
}

 

default 클래스

접근 지정자 없이 클래스를 선언한 경우 default로 접근 지정됨

같은 패키지 내의 클래스들에게만 사용이 허용

 

// default 클래스
class Default {
	..........
}

 

다음과 같이 클래스가 있다고 가정

 

예제의 클래스 구조

클래스 A에서 public 클래스 B와 default C에 접근했을 때 결과

 

default 클래스는 다른 패키지의 접근을 불허

클래스 A에서 default로 접근 지정된 C 클래스에 접근할 수 없는 것을 확인

따라서 그 클래스 내의 멤버에도 접근할 수 없음

 

멤버 접근 지정

private -> default -> protected -> public 순으로 공개의 범위가 넓어짐

 

멤버에 접근하는 클래스

멤버의 접근 지정자

private

default

protected

public

같은 패키지의 클래스

X

O

O

O

다른 패키지의 클래스

X

X

X

O

접근 가능 영역

클래스 내

동일 패키지 내

동일 패키지와
자식 클래스

모든 클래스

 

 

출처 : http://www.yes24.com/Product/Goods/61269276
 

명품 JAVA Programming

자바(Java)는 그 이전 시대에 있었던 프로그래밍 언어에서 한 차원 진화된 개념으로 개발된 가히 혁명적 언어이며 플랫폼이다. 한 번 작성된 자바 프로그램은 어느 컴퓨터, 어떤 운영체제에서도 �

www.yes24.com