2024년 3회 주제 · 연습 1
프로그래밍 언어다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
static String pick(Object x){return "O";}
static String pick(Number x){return "N";}
static String pick(Integer x){return "I";}
static <T> String wrap(T x){return pick(x);}
public static void main(String[] args) {
Integer x=5;
System.out.print(pick(x)+wrap(x)+pick((Number)x));
}
}정답·해설 보기
정답
ION
해설
직접 Integer를 넘기면 I, Number로 형변환하면 N이다. 상한이 Object인 T를 받는 wrap 내부에서는 컴파일 시 Object 오버로드가 선택되어 O이다.
학습용 재구성 · 주제 참고: Life-Journey · 2024년 3회 비공식 복원 (새 창)
