package ex0723;
public class Ex02_override {
public static void main(String[] args) {
Sample2 s = new Sample2();
s.print();
s.write();
}
}
class Test2 {
int a= 10;
public void print() {
System.out.println("a:"+a);
}
}
class Sample2 extends Test2 {
int x = 100;
public void write() {
super.print();
}
// 재정의되는 메소드의 접근 제어자는 크거나 같아야 한다.
// 메소드 override : 메소드의 시그니처가 동일해야 한다.
// 상위 클래스의 메소드를 재정의하면 재정의된 상위 클래스의 메소드는 숨는다.
@Override // 메소드가 오버라이드 규칙에 맞는지를 검증하고 맞지 않으면 에러 발생
public void print() {
System.out.println("a:"+a+ ",x:"+x);
}
// overloading
public void print(int n) {
System.out.println(n);
}