- Java에서는 부모로부터 상속이 가능하다.
- 이러한 경우 부모관련된 기능을 사용할 때 위와 같은 것들을 사용하곤 한다.
Super
- 자식은 부모로부터 받은 모든 프로퍼티를 사용할 수 있지만, 자식만이 갖고 있는 프로퍼티도 있을 수 있다.
- 이러한 경우 명확한 구분을 위해 부모를 가르키는 Super라는 참조타입을 사용한다.
public class Object{
int a;
}
public class A extends Object {
int a;
}
public void main(String[] args){
A test = new A();
System.out.println(test.a) // A클래스의 a를 출력
System.out.println(test.super.a) // A클래스의 부모인 Object의 a를 출력한다.
}
Super()
public class Object{
int a;
Object(int a) {this.a = a;}
}
public class A extends Object {
int a;
A(){
super(20);
a=40;
}
}
public void main(String[] args){
A test = new A();
System.out.println(test.a) // A클래스의 a인 40을 출력
System.out.println(test.super.a) // A클래스의 부모인 Object의 a인 20을 출력한다.
}