[Java] protected 접근 제한자

suhjaesuk·2022년 11월 11일
0

Java

목록 보기
3/4
post-thumbnail

protected 접근 제한자는 같은 패키지에서는 접근 제한이 없지만 다른 패키지에서는 자식 클래스만 접근을 허용합니다.

  • 필드와 생성자, 메소드 선언에 사용 가능
  • 같은 패키지일 경우
    • 모든 클래스 접근 가능
  • 다른 패키지
    • 자식 클래스만 접근 가능
    • new 연산자를 통해서 생성자를 직접 호출할 수 없다
    • 자식 생성자에서 super()로 생성자를 호출 가능.

예시) 클래스 A 와 다른 패키지에 있는 클래스 B, C

  • 클래스 A
public class A {
	protected String field; //필드
	protected A(){  //생성자
	}
	protected void method() { //메소드
	}
}
  • 클래스 B ( A와 다른 패키지, 상속관계 아님, A 접근 불가능)
public class B {
	public void method() {
		A a = new A();     //접근 불가능 
		a.field= "value";
		a.method();
	}
}
  • 클래스 C (A와 다른 패키지, 상속관계, A 접근 가능)
public class C extends A {
	public C() {
		super();    //접근 가능
		this.field = "value";
		this.method();
	}
}

📌 Ref. 혼자 공부하는 자바

profile
wanna be BE-Developer

0개의 댓글