# 메소드 오버라이딩
#### 메소드 재정의
메소드 오버라이딩(overriding)이란, 부모의 메소드를 자식 클래스에서 재정의하는 것입니다.
#### 활용 예
가령 부모 클래스 Wizard의 파이어볼은 데미지가 10일 때, 이를 물려받은 자식 클래스 GreatWizard에서는 30 데미지를 주고 싶다면 어떻게 해야 할까요?
```
class Wizard {
public void fireball() {
System.out.println("10 데미지를 줍니다");
}
}
```
이때 사용하는 개념이 메소드 오버라이딩입니다. 아래의 GreateWizard 클래스는 부모 Wizard의 fireball() 메소드를 새롭게 재정의합니다.
```
class GreatWizard extends Wizard {
// 메소드 오버라이딩(재정의)
public void fireball() {
System.out.println("30 데미지를 줍니다");
}
}
```
메소드를 재정의함으로써, GreatWizard 객체의 파이어볼 데미지가 상승하였습니다.
```
Wizard w = new Wizard();
w.fireball(); // 10 데미지를 줍니다
GreatWizard gw = new GreatWizard();
gw.fireball(); // 30 데미지를 줍니다
```
## 문제
주어진 코드로 정사각형, 삼각형, 원의 넓이를 구하려 한다. 이를 위해 아래와 같은 클래스 구조를 구현한 상황이다.
![클라우드스터딩-자바-도형-넓이-메소드-오버라이딩](https://i.imgur.com/GR4nV9f.png)
출력 예와 같은 결과를 얻도록, 메소드 오버라이딩을 통한 각 도형의 넓이를 구하시오.
## 출력 예
```
정사각형의 넓이 -> 25.00
삼각형의 넓이 -> 6.00
원의 넓이 -> 50.27
```