FLUTTER
flutter - 오버라이드
춘행이
2023. 12. 5. 12:57
728x90
오버라이드는 부모 클래스에 정의된 메서드를 재정의 할 때 사용됩니다
https://cpcp127.tistory.com/63
먼저 상속에 대해 보고 오시는걸 추천합니다
부모클래스 Idol
class Idol {
final String name;
final int count;
Idol(this.name, this.count);
void sayName(){
print('저는 부모 $name입니다');
}
void sayCount(){
print('$name 맴버의 수는 $count명 입니다');
}
}
Idol 클래스를 상속 받은 BoyGroup 자식 클래스
class BoyGroup extends Idol {
BoyGroup(super.name, super.count);
@override
void sayName() {
super.sayName();
print('저는 자식 $name입니다');
}
}
자식 클래스에서 @override를 사용해서 부모클래스의 sayName 메소드를 자식 클래스에서 재 정의해서 사용하는걸 볼수있습니다
super.sayName()은 부모클래스의 sayName을 의미합니다
sayCount는 오버라이드 하지 않아서 상속받은 부모클래스에서 정의한 sayCount대로 나올겁니다
void main() {
Idol idol = Idol('슈퍼주니어', 100);
idol.sayName();//저는 부모 슈퍼주니어입니다
BoyGroup boyGroup = BoyGroup('방탄', 7);
boyGroup.sayName();//저는 부모 방탄입니다 저는 자식 방탄입니다
boyGroup.sayCount();//부모 방탄 맴버의 수는 7명 입니다
}
728x90