본문 바로가기

Java

[Java] 접근 제어자 (Access level modifier)

 

변수나 메소드를 선언할 때 접근을 제어할 수 있는 modifier를 설정할 수 있다. 이러한 접근 관련 modifier를 통해서 객체지향 언어의 중요 특성 중 하나인 캡슐화(encapsulation)와 정보 숨김(information hiding)을 구현할 수 있다.

 

자바의 4가지의 접근 제어자가 있다.

  • private
  • default
  • protected
  • public

접근 제어자 접근 허용

 

private -> default -> protected -> public 순으로 보다 많은 접근을 허용한다

 

 

- private

 

접근 관련 modifier 중에서 가장 권한 범위가 좋은 modifier로 자기 자신 클래스 내에서만 이용할 수 있는 멤버를 선언할 때 사용한다.

 

- (default)

 

접근 관련 modifier를 지정하지 않은 경우이다. 이는 동일 패키지에 속하는 클래스만 접근할 수 있는 멤버이다.

 

- protected

 

동일 패키지와 동일 패키지에 포함되지는 않지만 하위 클래스 관계에 있는 클래스도 접근할 수 있다.

 

- public

 

모든 클래스에 의해 접근할 수 있다.  즉, 접근 제약이 없다.

 

위의 modifier는 변수의 선언, 생성자, 메소드 모두에 공통으로 적용된다.

 

'Java' 카테고리의 다른 글

[Java] 객체 지향 프로그래밍 클래스 인스턴스  (0) 2020.02.04
[Java] Java의 동작 원리와 순서  (0) 2020.01.29