오늘은 JAVA의 접근 제한자 (접근 제어자, access modifiers)에 대해 알아보자.
자바의 접근제한자에는 4가지(public, protected, default(none), private)가 있다.
· public : 어디서나 접근 가능
· protected : 동일 클래스나 패키지에서 접근 가능 / 상속받은 하위클래스에서 접근 가능
· default (아무것도 적지X) : 동일 클래스나 패키지에서 접근 가능
· private : 동일 클래스에서만 접근 가능
접근제한자 테스트를 위해 IntelliJ에서 다음과 같이 sample을 만들어 보았다.
패키지 2개, 각 패키지 내에 클래스는 2개를 만들었다. (총 클래스 4개)
private으로 선언된 변수는 동일 클래스에서만 접근이 가능하기 때문에 클래스가 달라지면 사용이 불가능하다.
아무것도 적지 않고 defalut로 선언된 변수는 동일한 클래스나 패키지에서 접근이 가능하기 때문에 위와같이 패키지가 달라지면 사용할 수 없다.
그러나 protected로 선언된 변수는 패키지가 달라져도 부모클래스를 상속받은 하위클래스에서 접근이 가능하기 때문에 protectedS 변수는 사용이 가능한 것이다.
다른 클래스, 다른 패키지이면서 하위클래스도 아닌 곳이라면 위와같이 protected로 선언된 변수의 사용이 불가하다.
이 경우는 어디서나 접근이 가능한 public 변수만 사용이 가능하다.
이상으로 사내 JAVA 기초 교육 1일차에 배운 접근제한자에 대해 정리해봤다.
무엇이든 기초가 튼튼해야 그 위에 무언가를 쌓아도 쉽게 무너지지 않을테니 기초를 튼튼히 하자! 화잇띵
'JAVA' 카테고리의 다른 글
[JAVA] 자바 Project / Package / Class / Methods / Variable 명명 규칙 (0) | 2020.08.26 |
---|---|
[JAVA] UpCasting / DownCasting (0) | 2020.08.26 |
[JAVA] Casting (형변환) (0) | 2020.08.26 |
[JAVA] Java for Absolute Beginners (PDF) 교재 소개 및 PDF viewer 추천 (0) | 2020.08.24 |
[JAVA] JSON (jackson-databind) 사용 (0) | 2020.08.20 |