자격증/정보처리기사 실기 - 기출문제

[정보처리기사 실기] 2021년 2회 19 - 프로그래밍 [JAVA]

쏠솔랄라 2025. 7. 17. 08:25

 

 


19 다음 JAVA로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

public class ovr1 {
	public static void main(String[] args) {
    	ovr1 a1 = new ovr1();
        ovr2 a2 = new ovr2();
        System.out.println(a1.sun(3, 2) + a2.sun(3, 2));
    }
    int sun(int x, int y) {
    	return x + y;
    }
}
class ovr2 extends ovr1 {
	int sun(int x, int y) {
    	return x - y + super.sun(x, y);
    }
}

 

 

 

 

 

 

해설

코드 실행순서 및 해석
1 public class ovr1 {    
2      public static void main(String[] args) {    
3           ovr1 a1 = new ovr1(); 1 개체변수 a1 선언
4           ovr2 a2 = new ovr2(); 2 개체변수 a2 선언
5
          System.out.println(a1.sun(3, 2) + a2.sun(3, 2)); 3 a.1sun(3, 2)의 값과 a2.sun(3, 2)의 값을 더함
6 5
12 6
13 a1.sun(3, 2) + a2.sun(3, 2)=5+6=11
6     }    
7
    int sun(int x, int y) { 4 a1.sun의 3, 2값을 받음
9 a2.sun의 3, 2값을 받음
8
          return x + y; 5 3+2=5 반환
10 3+2=5 반환
9     }    
10 }    
11 class ovr2 extends ovr1 {   부모클래스 상속
-> 부모클래스의 변수와 메소드를 사용하겠다
12      int sun(int x, int y) { 7 sun(3, 2)값을 받음
13           return x - y + super.sun(x, y); 8
11
3-2 + super.sun(x, y)
=1+상속한 부모클래스의 sun(x, y)값을 받아옴
=1+6=6
14     }    
15 }