[Java] Access Modifier 접근 제어자

He SEO·2022년 3월 15일
0

접근 허용 범위

private → default → protected → public

private

private가 붙은 변수, 메소드는 해당 클래스에서만 접근 가능함

public class AccessModifier {
	private String secret;
	private String getSecret() {
		return this.secret;
	}
}
//다른 클래스에서는 secret 변수와 getSecret() 메소드 접근이 불가능하다

default

별도로 설정하지 않는다면 default로 설정되며 해당 패키지 내에서만 접근이 가능함

package test1;

public class Test {
	String lastname = "kim"; //default 변수
}

public class Test2 {
	String lastname = "park";
	
	public static void main(String[] args) {
		Test kim = new Test();
		System.out.println(kim.lastname);
	}
} 
//Test의 lastname 변수는 접근제어자가 default이므로 Test2 클래스에서 접근이 가능함 

protected

protected가 붙은 변수, 메소드는 동일 패키지 내의 클래스 혹은 해당 클래스를 상속받는 외부 패키지의 클래스에서 접근 가능

public

어떤 클래스에서도 접근이 가능

💡 클래스 내의 클래스는 inner class라고 부르는데 이러한 inner 클래스에도 역시 접근제어자를 붙여서 접근을 제어할 수 있음

참고 사이트

profile
BACKEND 개발 기록 중. 감사합니다 😘

0개의 댓글