💡 Overriding (메소드 오버라이딩)
- 슈퍼클래스(부모)의 메소드를 서브클래스(자식)에서 재정의하는 것. 일명 '메소드 덮어쓰기'
- 슈퍼클래스의 메소드를 서브클래스가 사용하지 못하는 경우에 @Override가 필요🌟
- 반드시 슈퍼클래스의 메소드와 동일한 메소드명, 매개변수, 반환타입으로 만들어야 함!
public class 생크림케이크 {
public void 재료() {
System.out.println("동물성크림");
}
}
public class 딸기생크림케이크 extends 생크림케이크 {
@Override
public void 재료() {
System.out.println("생딸기");
}
}
public class 망고생크림케이크 extends 생크림케이크 {
@Override
public void 재료() {
System.out.println("애플망고");
}
}
// 슈퍼클래스 생크림케이크와 재료(메소드)가 다르기 때문에
// 서브클래스 딸생케, 망생케에서 재료() 메소드를 새로 동일한 메소드명, 매개변수, 반환타입으로 만들어준다.