Frog is cry
protected(day21) 본문
패키지1
package day22.ex02;
public class A {
protected String field;
protected A() {
}
protected void method() {
}
}
package day22.ex02;
public class B {
public void method() {
A a = new A();
a.field = "value";
a.method();
}
}
패키지2
package day22.ex02_2;
import day22.ex02.A;
/* C 클래스는 A 클래스와 다른 패키지에 있다.
* default 접근제한과 마찬가지로 C 클래스의 생성자와 메소드에서는
* A 클래스의 protected 필드, 생성자, 메소드에 접근할 수 없다.
*/
public class C {
// A a = new A();
// a.filed = "value";
// a.method();
}
package day22.ex02_2;
import day22.ex02.A;
/* 다음 D 클래스는 A 클래스와 다른 패키지에 있다.
* C 클래스와는 달리 D는 A의 자식 클래스 이다. 그렇기 떄문에
* A 클래스의 protected 필드, 생성자, 메소드에 접근이 가능하다.
* 단 new 연산자를 사용해서 생성자를 직접 호출할 수는 없고
* 자식 생성자에서 super() 로 A 생성자를 호출할 수 있다.
*/
public class D extends A{
public D() {
// super();
this.field = "value";
this.method();
}
}
'JAVA > 국비수업' 카테고리의 다른 글
다형성, instanceOf(Day22) (0) | 2020.07.30 |
---|---|
캐스팅(day22) (0) | 2020.07.29 |
final(day21) (0) | 2020.07.28 |
오버라이딩(day20) (0) | 2020.07.27 |
super(day20) (0) | 2020.07.27 |
Comments