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

[정보처리기사 실기] 2022년 1회 01 - 프로그래밍 [JAVA]

쏠솔랄라 2025. 7. 19. 12:00

 

 

 

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

class A {
	int a;
	int b;
}

public class Test {
	static void func1(A m) {
		m.a *= 10;
	}
	static void func2(A m) {
		m.a += m.b;
	}
	public static void main(String args[]) {
		A m = new A();
		m.a = 100;
		func1(m);
		m.b = m.a;
		func2(m);
		System.out.printf("%d", m.a);
	}
}

 

 

 

더보기

2000

 

 

 

해설

코드 실행순서 및 해석
1 class A {    
2 int a;   정수형 변수 a 선언
3 int b;   정수형 변수 b 선언
4 }    
5 public class Test {    
6 static void func1(A m) { 5 호출
7 m.a *= 10; 6 m.a값에 10을 곱해 넣는다
→ 현재 m.a값은 100이므로 여기에 10을 곱한 1000을 다시 m.a에 넣는다
8 }    
9 static void func2(A m) { 9 호출
10 m.a += m.b; 10 m.a에 m.b를 더해 넣는다
→ 현재 m.a는 1000이고, m.b의 값은 1000이므로
2000이 된다
11 }    
12 public static void main(String args[]) { 1 메인부터 실행
13 A m = new A(); 2 A라는 클래스에 객체변수 m을 선언하겠다
객체변수 m이라는 이름으로 int a, b 생성
14 m.a = 100; 3 m의 변수 a에 100을 넣는다
15 func1(m); 4 객체변수 m을 func1에 넣어 호출
16 m.b = m.a; 7 m의 변수 b에 m.a값을 넣는다
→ 현재 m.a의 값은 1000이므로 1000을 넣는다
17 func2(m); 8 func2호출
18 System.out.printf("%d", m.a); 11 m.a 출력
→ 2000
19 }    
20 }    

 

<객체변수 m>

int a int b
100 1000
1000  
2000