class Parent {
int x=100;
Parent() {
this(200);
}
Parent(int x) {
this.x=x;
}
int getX() {
return x;
}
}
class Child extends Parent {
int x=3000;
Child() {
this(1000);
}
Child(int x) {
this.x=x;
}
}
public class Main {
public static void main(String[] args) {
Child c = new Child();
System.out.println("x="+c.getX());
}
}
실행결과가 왜 1000이 아니라 200임??
설명해줄 사람 ㅠㅠㅠ
Child 클래스에 getX 메소드가 없기 때문에 Parent의 메소드가 호출되고 Parent의 x값이 찍히게 됨. 결과적으로 Child 인스턴스의 x값은 1000이고 Parent 인스턴스의 x값은 200인것
GetX함수는 child클래스가 상속하니까 child의 x값인 1000이 나와야 하는 거 아님?