모두CBT

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이 출력된다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.