사진 출처 : https://namu.wiki/w/Git
> 클래스내에 멤버의 접근을 제한하는 의미
어떤 클래스든 접근할 수 있다.
같은 패키지에서 접근이 가능하지만 다른 패키지의 경우엔 상속 받아야 접근 가능.
자기 자신만 이용가능 (다른 클래스, 다른 패키지 x)
접근 제한자 따로 설정 안해주면 기본 값, 같은 패키지에서만 이용 가능
public > protected > default > private
같은 패키지 내 다음과 같은 두 클래스가 있다. (Lab, Lab2)
Lab2 클래스 내에 각 접근 제한자를 지닌 변수가 존재하고 다른 클래스에서 이용할 시 private만 에러가 나는 것을 확인할 수 있다. (private은 같은 클래스 내에서 이용하지 않기에 에러 현상 발생)
그렇다면 Lab2 클래스를 다른 클래스에 집어 넣으면 어떻게 될까?
public을 선언해준 Lab2.l.p 변수만 에러가 뜨지 않는 것을 확인 할 수 있다. 그렇다면 상속을 받고 이용해준디면 어떤 결과가 나올까?
다른 패키지더라도 상속받으면 이용할 수 있는 protected가 활성화 되는 모습을 확인 할 수 있다.