@override 에 대해 공부합시다.
@override
는 Dart 언어에서 제공하는 어노테이션 중 하나입니다. 이 어노테이션은 하위 클래스에서 상위 클래스의 메서드를 오버라이딩(재정의)할 때 사용됩니다. 이를 통해 컴파일러와 개발자에게 해당 메서드가 상위 클래스의 메서드를 오버라이딩한다는 것을 명시적으로 알려줍니다.
@override
를 사용하면 다음과 같은 장점이 있습니다:
@override
어노테이션이 붙은 메서드에서 컴파일 에러가 발생합니다. 이를 통해 런타임 에러를 방지할 수 있습니다.예시:
class Animal {
void makeSound() {
print('Animal makes a sound');
}
}
class Dog extends Animal {
void makeSound() {
print('Dog barks');
}
}
여기서 Dog
클래스는 Animal
클래스를 상속받고, makeSound
메서드를 오버라이딩합니다. 이 때 @override
어노테이션을 사용하여 이를 명시적으로 표시해줍니다.
예시가 있으니까 이해가 쉽네요.