정보처리기사 24년 1회 16번 문제

2024. 7. 9. 14:58자격증 연습/정보처리기사 실기 대비 - 문제풀이

class classOne {
    int a, b;

    public classOne(int a, int b) {
        this.a = a;
        this.b = b;

        // a는 10, b는 11
    }

    public void print() {
        System.out.println(a + b);
    }

}
class classTwo extends classOne {
    int po = 3;

    public classTwo(int i) {
        super(i, i+1);
        // super로 부모클래스의 classOne(int a, int b) 생성자가 호출됨
    }

    public void print() {
        System.out.println(po*po);
    }
}

public class main {
    public static void main(String[] args) {
        classOne one = new classTwo(10);
        // 자식클래스의 생성자를 인스턴스로 하는 부모 클래스 객체 생성
        one.print();
        /*메서드 호출 부모 클래스의 one 객체를 호출하지만 객체선언때에 자식 클래스의 생성자를 인스턴스로 가지고
        시그니처(매개변수) 가 동일함으로 메서드 오버라이딩이 발생하여 자식 클래스의  print() 메서드가 실행됨
        */
    }
}

 

답은 9