서론
이번에는 정처기에서 등장하는 정적 변수 관련 문제를 풀어보고자 한다. 본 문제는 2023년 1회에 나온 문제다. 본 포스팅 역시 우선 문제를 보고, 바로 어떻게 풀었는 지 적을 예정이다. 포인터에 대한 정보처리기사 문제를 풀고자 한다면 여기로 가면 된다.
문제
class Static {
public int a = 20;
static int b = 0;
}
public class Main {
public static void main(String[] args) {
int a;
a = 10;
Static.b = a;
Static st = new Static();
System.out.println(Static.b++);
System.out.println(st.b);
System.out.println(a);
System.out.print(st.a);
}
}
풀이
Static.b++를 출력할 때는 Static class 내 b를 출력하고-> +1을 하면 된다. 그러므로 이 떄 출력은 10, class 내 b 값은 11이 되는 것이다. 그렇기에 이후 st.b를 출력하면 11이 나오는 것. 이후 a를 한다. 이 때 a는 main 함수에 있는 a를 출력하면 된다. 그러므로 10. static 함수 내 a를 가져오고 싶다면 st.a를 사용하면 되는데 마지막 출력이 딱 그렇게 나왔다. 그러므로 마지막 st.a는 20을 출력하면 된다. 고로, 출력 결과 및 정답은 아래와 같다.
10
11
10
20
'IT, Computer' 카테고리의 다른 글
[정보처리기사] 프로그래밍 언어 문제 풀이 (4) - JAVA 싱글턴 패턴 (0) | 2025.04.09 |
---|---|
[정보처리기사] 프로그래밍 언어 문제 풀이 (3) - 딕셔너리 (0) | 2025.04.08 |
[정보처리기사] 프로그래밍 언어 문제 풀이 (1) - 포인터 (0) | 2025.04.06 |
OSError: [WinError 10014] 호출에 대한 포인터 인수를 사용하려는 동안 시스템에서 잘못된 포인터 주소를 감지했습니다. 해결법 (0) | 2025.03.01 |
[백준] BOJ 15649, N과 M (1) 파이썬 Python (0) | 2025.02.17 |