Java출력 결과기초 · 10점#오버라이딩#다형성#배열

281. 부모 타입 배열을 돌며 재정의한 메서드 부르기

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

1class Shape {
2 int area() {
3 return 0;
4 }
5}
6
7class Square extends Shape {
8 int side = 3;
9
10 int area() {
11 return side * side;
12 }
13}
14
15class Rect extends Shape {
16 int area() {
17 return 2 * 5;
18 }
19}
20
21public class Main {
22 public static void main(String[] args) {
23 Shape[] shapes = { new Square(), new Rect(), new Shape() };
24 int sum = 0;
25 for (Shape s : shapes) {
26 sum += s.area();
27 }
28 System.out.println(sum);
29 }
30}

💡 Java에서 참·거짓은 true / false처럼 모두 소문자로 써요.

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