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);
}
}
```
정답: 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 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.