package com.java1.day15;
//super는 자손클래스에서 조상클래스로부터 상속받은 멤버를 참조하는데 사용되는 참조변수이다.
//static메서드(클래스메서드)는 인스턴스와 관련이 없다.
//그래서 this와 마찬가지로 super역시 static메서드에서는 사용할 수 없고 인스턴스메서드에서만 사용할 수 있다.
//오버라이딩의 조건은 아래와 같다.
//자손클래스에서 오버라이딩하는 메서드는 조상클래스의 메서드와
//- 이름이 같아야 한다.
//- 매개변수가 같아야 한다.
//- 리턴타입이 같아야 한다.
class Parent{
int x = 10;
}
class Child extends Parent{
void method() { //인스턴스 매서드
System.out.println("x="+x);
System.out.println("this.x=" + this.x);
//변수 x 앞에 this가 붙어서 자기자신 내부에서 x 변수를 찾지만 없을경우 부모에서 x 변수를 찾는다.
System.out.println("super.x="+ super.x);
}
}
public class SuperTestEx20 {
public static void main(String[] args) {
Child c = new Child();
c.method();
}
}
x=10
this.x=10
super.x=10