22-2아래 Java 프로그램의 출력 결과를 적으시오.public cl… | 2022년 정보처리기사실기 2회차 기출문제 상세 페이지
3
22-2
아래 Java 프로그램의 출력 결과를 적으시오.
public class Main {
int size;
Main(int size) {
this.size = size;
}
int calc() {
int t = 2;
for (int k = size; k > 1; k--) {
t = t * 2 + k;
}
return t - size;
}
public static void main(String[] args) {
Main m = new Main(6);
m.size = 4;
int t = m.calc();
System.out.print(t + m.size);
}
}해설
40
[해설]
생성자에서 size = 6으로 초기화되지만, main에서 m.size = 4로 필드를 바꾼 뒤 calc()를 호출한다.
- k=4: t = 2×2 + 4 = 8
- k=3: t = 8×2 + 3 = 19
- k=2: t = 19×2 + 2 = 40
- 반환값: 40 − 4 = 36
main의 지역 변수 t는 36이고, 여기에 m.size(4)를 더해 40이 출력된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.