반응형

접근 제어자 (access modifier)

  • private       같은 클래스 내에서만 접근이 가능하다.
  • (default)    같은 패키지 내에서만 접근이 가능하다.
  • protected  같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능하다.
  • public          접근 제한이 전혀 없다.

 

접근제어자는 4개가 있다. 하나의 대상에는 4개의 접근 제어자 중 1개만 사용할 수 있다.
하나의 대상이 public이면서 Protected일 수 없다는 이야기다.

public은 제한이 전혀 없다.

그리고 private인 경우에는, 같은 클래스 내에서만 접근이 가능하다.

(default)는 접근제어자를 아무것도 안 붙인것을 의미하는데, 이때는 같은 패키지 내에서만 접근이 가능하다.

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

 위의 조건을 표로 그린 것이다. 

public은 전부 가능하다.
protected는 default의 조건 + 다른패키지의 자손클래스 이다.
(default)는 같은 클래스, 같은 패키지가 가능하다.
private는 같은 클래스만 된다.

접근 범위를 보면 public이 가장 넓다. 그리고 private이 가장 좁다.

접근 제어자 중에서 클래스 앞에 붙일 수 있는 것은 public과 (default) 2개 뿐이다.

그리고 멤버들에는 4가지 모두 붙일 수 있다.

pkg1과 pkg2를 생성해서 접근 제어자를 테스트한 코드이다.

prv는 접근 제어자 private이므로 같은 클래스내에서만 접근이 가능하다.

dft는 접근 제어자 (default)이므로 같은 패키지 내에서만 접근이 가능하다.

prt는 접근 제어자 protected이므로 같은 패키지 내에서, 그리오 다른 패키지의 자손 클래스에서 접근이 가능하다.

pub는 접근 제어자 public이므로 접근 제한이 없다.

반응형

'JAVA' 카테고리의 다른 글

다형성  (0) 2022.04.02
캡슐화  (0) 2022.04.01
제어자, static, final, abstract  (0) 2022.04.01
import문, static import문  (0) 2022.03.31
패키지, 클래스 패스  (0) 2022.03.31