37. 오버로딩과 오버라이딩의 선택 시점
다음 Java 프로그램의 실행 결과를 쓰시오.
1class Shape {2String draw(Shape s) {3return "S(S)";4}56String draw(Circle c) {7return "S(C)";8}9}1011class Circle extends Shape {12String draw(Shape s) {13return "C(S)";14}15}1617public class Main {18public static void main(String[] args) {19Shape a = new Circle();20Circle b = new Circle();21Shape c = new Shape();22String r1 = a.draw(a);23String r2 = a.draw(b);24String r3 = c.draw(a);25String r4 = b.draw((Shape) b);26System.out.println(r1 + " " + r2);27System.out.println(r3 + " " + r4);28}29}