[Java] 접근 제한자
접근 제한자(Access Modifier)
접근 제한자는 모든 접근을 허용하는 public
부터 시작해서 차례대로 protected
, default(friendly)
, private
이렇게 4가지 종류가 있다.
public
Public
은 package, Class가 동일하지 않아도 모든 접근이 가능한 제한자이다.
같은 클래스내에서 허용, 같은 패키지 내의 다른 클래스 허용, 다른 패키지의 다른 클래스에서 허용
protected
Protected
는 같은 package에서만 접근을 허용하고 다른 package에서 접근하려면 해당 Class를 상속받을 시에만 접근이 가능한 제한자이다.
_ 같은 Class내에서 접근 허용, 같은 package의 다른 Class에서 접근 허용, 다른 package의 상속받은 Class 접근 허용, 다른 package의 다른 Class 접근 불가_
default
default
는 동일 package에서만 접근을 허용하는 제한자로, 접근 제한자가 생략되어 있을경우엔 기본적으로 default
접근 제한자가 적용된다.
같은 class 내에서 허용, 같은 package 내의 다른 class에서 허용, 다른 package에서는 접근 불가
default
는 자동으로 선언되어 지므로 변수, 메소드 앞에 명시적으로 적어서는 안된다.
아무것도 선언되지 않았을 경우 default
, friendly
접근 제한자로 선언되었다. 표현
private
private
는 동일 package, 다른 package 모두 접근이 불가능하고 같은 Class 내에서만 접근을 허용하는 제한자이다.
같은 java 파일 안의 서로 다른 Class라도 접근 불가
접근 제한자 별 사용 가능 범위
-
Class에 사용 가능
public,
default
-
**Construtor **
public
,protected
,default
,private
-
**Member 변수 **
public
,protected
,default
,private
-
Member method
public
,protected
,default
,private
-
지역 변수 접근 제한자 사용 불가
🙆♂️ 참고사이트 🙇♂️
JAVA 접근제한자 public protected default private[자바공작소]
JAVA 접근 제한자 (public, private, protected, default)[Minsub’s Blog]
자바(Java)〃접근 제한자 private/ protected/ public / default[HunIT Blog]
댓글남기기