Java - 문제 미리보기

문제 2396

medium
다음 코드의 실행 결과는? ```java class Calculator { @Deprecated static int add(int a, int b) { return a + b; } static int sum(int a, int b) { return a + b; } } public class Main { public static void main(String[] args) { int result1 = Calculator.add(5, 3); int result2 = Calculator.sum(5, 3); System.out.println(result1 + ", " + result2); } } ```
A. `8, 8` (컴파일러 경고 없음)
B. `8, 8` (컴파일러 경고 있음)
C. 컴파일 에러 발생
D. 실행 시 예외 발생

정답: B

`@Deprecated` annotation은 코드 실행에는 영향을 주지 않지만, IDE나 컴파일러에서 경고 메시지를 표시합니다. @Deprecated의 동작 방식: 1. 실행은 정상적으로 됨: ⦁ `@Deprecated` 메서드도 여전히 작동함 ⦁ 기능상 문제 없이 호출 가능 ⦁ 반환값도 정상적으로 제공 2. 컴파일러 경고 발생: ```txt warning: [deprecation] add(int,int) in Calculator has been deprecated int result1 = Calculator.add(5, 3); ^ 1 warning ``` 3. IDE에서의 표시: ⦁ 메서드명에 취소선 표시 ⦁ 호출 시 경고 아이콘 표시 ⦁ 툴팁으로 deprecated 안내 @Deprecated 사용 목적: ⦁ 단계적 제거: 즉시 제거하지 않고 사용 중단 권고 ⦁ 대안 제시: 새로운 메서드나 방식 안내 ⦁ 호환성 유지: 기존 코드가 갑자기 깨지지 않도록 보호

💡 학습 팁

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