Java출력 결과어려움 · 30점#오버로딩#오버라이딩#상속#형 변환

156. 부모 타입 참조의 오버로딩 선택과 반환형

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

1class Meter {
2 long calc(long v) {
3 return v * 2;
4 }
5
6 double calc(double v) {
7 return v / 2;
8 }
9}
10
11class Gauge extends Meter {
12 int calc(int v) {
13 return v + 1;
14 }
15
16 @Override
17 long calc(long v) {
18 return v * 3;
19 }
20}
21
22public class Main {
23 public static void main(String[] args) {
24 Meter m = new Gauge();
25 Gauge g = new Gauge();
26 char c = 'B';
27 System.out.println(m.calc(5) + " " + g.calc(5));
28 System.out.println(m.calc(c) + " " + g.calc(c));
29 System.out.println(m.calc(9.0f) + " " + m.calc(6.0));
30 double d = g.calc(4);
31 System.out.println(d + m.calc(2));
32 }
33}

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