자바 책을 학교에 놔두고 와서 ㅠㅠ

상속 부분 다시 보고 있는데요

아래 주석 친 부분부터 잘 모르겠어요

test2.x 가 값이 5가 아니라 10이 나오길래

print() 메소드도 "바우와우"가 나올 줄 알았는데 "잇힝"이 나오더라구요... 가르침 좀 부탁드립니다. ㅠ



public class main {
        public static void main(String[] args) {
                b test = new b();
                System.out.println(test.x);
                test.print();

                // 이 부분부터 헷갈림;
                a test2 = new b();
                System.out.println(test2.x);
                test2.print();
        }
}

class a {
        int x;
        public a() {
                System.out.println("a 객체 생성");
                x = 10;
        }
        
        public void print(){
                System.out.println("바우와우");
        }
}

class b extends a {
        int x;
        public b() {
                x = 5;
        }
        
        @Override
        public void print() {
                System.out.println("잇힝");
        }
}

/////////////////////////////////////////////////////
출력)

a 객체 생성
5
잇힝
a 객체 생성
10
잇힝