Java - 문제 미리보기

문제 2268

medium
다음 코드의 실행 결과는 무엇인가요? ```java public class Constants { final int MAX_SIZE = 100; final double PI = 3.14; public void changeValues() { MAX_SIZE = 200; // 라인 A PI = 3.14159; // 라인 B } public static void main(String[] args) { Constants obj = new Constants(); obj.changeValues(); System.out.println(obj.MAX_SIZE); } } ```
A. `200` 출력
B. `100` 출력
C. 컴파일 에러 발생
D. 런타임 에러 발생

정답: C

⦁ `final` 키워드의 역할: • 변수를 상수로 만들어 값을 변경할 수 없게 합니다 • 한 번 초기화된 후에는 재할당이 불가능합니다 • 컴파일 시점에서 에러를 발생시킵니다 ⦁ 에러 발생 지점: • 라인 A: `MAX_SIZE = 200` → final 변수 재할당 시도 • 라인 B: `PI = 3.14159` → final 변수 재할당 시도 ⦁ 컴파일 에러 메시지: "cannot assign a value to final variable" ⦁ `final`로 선언된 변수는 불변(immutable)이므로 값 변경이 원천적으로 차단됩니다

💡 학습 팁

이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.