반응형

접근 제한자(Access Modifier)는 외부에서 해당 클래스에 접근할 수 있는 정도를 말한다.


외부에서 모두 접근할 수 있는 public부터 자기 자신만 접근 가능한 private까지 4가지의 접근 지정자가 존재한다.



4가지의 접근 제한자를 그림으로 표현하면 다음과 같다.





1. 모두 다 접근 가능한 public


public은 내부 외부에서 모두 접근이 가능하다. 

적용할 수 있는 범위 >> 클래스, 필드, 생성자, 메소드



2. 자식만 접근 가능한 protected


protected는 상속 받은 자식 클래스에서만 접근이 가능하다.

자식 클래스가 아닌 다른 패키지에 소속된 클래스는 접근이 불가능하다.

적용할 수 있는 범위 >> 필드, 생성자, 메소드



3. 나의 패키지 내에서만 접근 가능한 default


클래스를 선언할 때 public을 생략했다면 알게 모르게 클래스는 default 접근 제한을 가진다.

default는 같은 클래스 내에서만 접근이 가능하다.

다른 클래스는 접근이 불가능하다.

적용할 수 있는 범위 >> 클래스, 필드, 생성자, 메소드



4. 나 빼고 아무도 안돼 private


private는 모든 외부 클래스에서 접근이 불가능하다.

적용할 수 있는 범위 >> 필드, 생성자, 메소드

필드를 private로 설정했다면 public 접근 제한자를 가진 getter, setter 메소드를 통해서만 외부와 공유 가능하다.



반응형

'Programming Language > JAVA' 카테고리의 다른 글

[Java]Overriding / Overloading이 뭐야? 같은거 아냐?  (2) 2018.12.27
[Java] final 넌 누구냐?!  (2) 2018.12.27
[급여관리 프로그램(Has~A 만)  (24) 2018.07.16
[Java]Enum  (0) 2018.07.12
클래스 구성요소  (0) 2018.07.10

+ Recent posts