Back-end/Java Language

접근 제어자(access modifier)

prden 2021. 5. 25. 14:24

1.  의미

접근 제어자는 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 

접근 제어자가 default임을 알리기 위해서 default를 붙이지는 않고, 클래스나 멤버 변수, 메서드, 생성자에 접근 제어자가 지정되어 있지 않으면, 접근 제어자가 defalut임을 뜻한다. 

 

2. 사용 가능한 곳

- 접근 제어자가 사용될 수 있는 곳은 - 클래스, 멤버 변수, 메서드, 생성자이다. 

1) private = 같은 클래스 내에서만 접근이 가능하다.

2) default = 같은 패키지 내에서만 접근이 가능하다. 

3) protected = 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능하다. 

4) public = 접근 제한이 전혀없다. 

따라서  public > protected > (default) > private 순이다. 

 

2-1. 사용가능한 접근 제어자

1) 클래스 = public, default

2) 메서드 =  public, protected, default, private

3) 멤버변수 = public, protected, default, private

4) 지역변수 = 없음 

 

3. 접근제어자 사용하는 이유

1) 외부로부터 데이터를 보호하기 위해서

2) 외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서