old posting/Java

[Java] 접근 제한자, 접근권한 수식어(Access Modifier)

마케팅스프린트 2021. 1. 27. 16:08

접근권한 수식어(Access Modifier) 접근 제한자

1. 종류 : private, (default), protected, public

2. 기능 : 멤버변수, 멤버메소드에 대한 접근 권한을 제한

 

* private : "자기 자신"이 선언된 클래스에서만 사용 가능

* (default) : "자기 자신" + "같은 패키지"에 있는 클래스들에서는 사용 가능

* protected : "자기 자신" + "같은 패키지" + "상속받은 클래스"에서 사용 가능

                           다른 패키지의 클래스라도 "상속" 받으면 사용 가능하다.

*  public : 어디서든 사용 가능

 

3. 사용 범위 : private < (default) < protected < public

 

* 클래스에 붙는 접근제한자는 딱 두가지이다.

1. public class : 어디에서나 인스턴스 생성이 가능한 클래스

* public 클래스의 이름은 .java 파일 이름과 반드시 같아야 한다.

 

2. (default) class : 같은 패키지에 있는 클래스들에서만 인스턴스 생성 가능

* 다른 패키지의 (default) 클래스는 import 할 수 없다.

 

* final 멤버 변수는 선언과 동시에 반드시 초기화 해야 한다.