[자바(Java) 공부하기] 16. 접근제한자 - 우당탕탕 개발자 되기 프로젝트
접근 제한자는 말 그대로 접근을 제한하기 위해 사용됩니다.
접근은 클래스 및 인터페이스 그리고 이들이 가지고 있는 멤버의 접근을 말합니다.
접근 제한자는 public, protected, private 세 가지 종류가 있습니다.
먼저 클래스의 접근 제한부터 알아보자면, 클래스는 public, default 접근 제한을 가집니다.
클래스를 선언할 때 public을 생략했다면 클래스는 default 접근 제한을 가지게 됩니다.
클래스가 default 접근 제한을 가지면 같은 패키지(package)에서는 사용할 수 없습니다.
물론 경우에 따라 import를 활용하여 클래스에 접근할 수도 있습니다.
클래스에 public을 붙였다면 클래스는 다른 패키지에서도 아무런 제한 없이 사용할 수 있습니다.
다음으로 생성자의 접근 제한에 대해 살펴보겠습니다.
생성자는 public, protected, default, private 접근 제한을 가집니다.
public 접근 제한자는 모든 패키지에서 제한 없이 생성자를 호출할 수 있습니다.
protected 접근 제한자는 같은 패키지와 자식 클래스에서 생성자를 호출할 수 있습니다.
default 접근 제한자는 같은 패키지에서는 제한 없이 생성자를 호출할 수 있습니다.
private 접근 제한자는 동일한 패키지이건 다른 패키지이건 상관없이 생성자를 호출하지 못합니다. 오로지 클래스 내부에서만 생성자를 호출할 수 있습니다.
마지막으로 필드와 메서드의 접근 제한에 대해 알아보겠습니다.
필드와 메서드는 생성자의 접근 제한과 동일하게 public, protected, private, default 접근 제한을 가집니다.
각각의 접근 제한자 내용 또한 동일하게 적용됩니다.