#메소드 오버라이딩(overriding) ## CODE <a class='btn btn-default' href='/codes/12199'>Link</a> ``` public class Overriding { public static void main(String[] args) { // 객체 생성 Square s = new Square(); Triangle t = new Triangle(); Circle c = new Circle(); // 객체 초기화 s.name = "정사각형"; s.length = 5; t.name = "삼각형"; t.base = 4; t.height = 3; c.name = "원"; c.radius = 4; // 업 캐스팅 객체 배열 만들기 Shape[] shapes = { s, t, c }; // 모든 도형의 넓이 계산 for (int i = 0; i < shapes.length; i++) { Shape tmp = shapes[i]; System.out.printf("%s의 넓이 -> %.2f\n", tmp.name, tmp.area()); } } } // 도형 class Shape { String name; // 도형의 넓이를 반환 public double area() { return 0; } } // 정사각형 class Square extends Shape { int length; // 한 변의 길이 /* 1. 정사각형 넓이를 구하도록 area()를 재정의하세요. */ public double area(){ return Math.pow(length,2); } } // 삼각형 class Triangle extends Shape { int base; // 밑변 int height; // 높이 /* 2. 삼각형 넓이를 구하도록 area()를 재정의하세요. */ public double area(){ return base*height/2; } } // 원 class Circle extends Shape { int radius; // 반지름 /* 3. 원의 넓이를 구하도록 area()를 재정의하세요. */ public double area(){ return Math.PI*Math.pow(radius,2); } } ``` ## INPUT ``` ``` ## OUPUT ``` 정사각형의 넓이 -> 25.00 삼각형의 넓이 -> 6.00 원의 넓이 -> 50.27 ```
# 피드백 감사합니다! 땡큐, 아리가또, 씨에씨에~