Java출력 결과어려움 · 30점#접근 제어자#생성자#상속#오버라이딩

94. 접근 제어자와 super 생성자 호출 순서

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

1class Device {
2 private int code = 1;
3 protected String name;
4
5 Device(String name, int code) {
6 this.name = name;
7 this.code += code;
8 System.out.println("D " + info());
9 System.out.println("D " + tag());
10 }
11
12 private String info() {
13 return name + code;
14 }
15
16 String tag() {
17 return "dev";
18 }
19
20 int getCode() {
21 return code;
22 }
23}
24
25class Phone extends Device {
26 private int code = 50;
27 private String model = "X";
28
29 Phone(String name) {
30 super(name + "-p", 7);
31 code += getCode();
32 System.out.println("P " + info() + " " + tag());
33 }
34
35 private String info() {
36 return name + code;
37 }
38
39 @Override
40 String tag() {
41 return model + code;
42 }
43}
44
45public class Main {
46 public static void main(String[] args) {
47 Phone p = new Phone("go");
48 System.out.println(p.getCode() + " " + p.tag());
49 }
50}

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