Java출력 결과보통 · 20점#오버로딩#메서드#형 변환

221. 제네릭 필드와 오버로딩 선택 기준

다음 Java 프로그램의 실행 결과를 쓰시오.

1class Box<T> {
2 T item;
3 Box(T item) {
4 this.item = item;
5 }
6}
7
8public class Main {
9 static String f(Object o) {
10 return "O";
11 }
12
13 static String f(String s) {
14 return "S";
15 }
16
17 public static void main(String[] args) {
18 Box<String> b1 = new Box<>("hi");
19 Box<Object> b2 = new Box<>("hi");
20 String r = f(b1.item) + f(b2.item);
21 Object x = b1.item;
22 r += f(x) + f((String) x);
23 System.out.println(r);
24 }
25}

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.