상속
상속은 객체 지향 프로그래밍에서 클래스가 부모 클래스로부터 속성과 메서드를 상속받는 메커니즘입니다.
Flutter에서는 extends 키워드를 사용하여 클래스가 다른 클래스로부터 상속받을 수 있습니다.
아래는 Flutter에서의 상속 예시입니다.
class Animal {
void eat() {
print('동물이 먹고 있습니다');
}
}
class Dog extends Animal {
void bark() {
print('멍멍!');
}
}
void main() {
Dog dog = Dog();
dog.eat(); // "동물이 먹고 있습니다" 출력
dog.bark(); // "멍멍!" 출력
}
위 예제에서 Animal 클래스는 콘솔에 메시지를 출력하는 eat 메서드를 가지고 있습니다. Dog 클래스는 Animal 클래스를 확장하고 bark 메서드를 추가합니다. Dog 객체를 생성하고 eat 및 bark 메서드를 호출하면 적절한 메시지가 콘솔에 출력됩니다.
메서드 오버라이드
메서드 오버라이드란 서브클래스가 이미 슈퍼클래스에 정의된 메서드의 새로운 구현을 제공할 수 있는 기능입니다.
Flutter에서는 @override 어노테이션을 사용하여 메서드를 오버라이드할 수 있습니다.
아래는 Flutter에서의 메서드 오버라이드 예시입니다:
class Animal {
void eat() {
print('동물이 먹고 있습니다');
}
}
class Dog extends Animal {
@override
void eat() {
print('강아지가 먹고 있습니다');
}
void bark() {
print('멍멍!');
}
}
void main() {
Dog dog = Dog();
dog.eat(); // "강아지가 먹고 있습니다" 출력
dog.bark(); // "멍멍!" 출력
}
위 예제에서 Dog 클래스는 상위 클래스인 Animal에 정의된 eat 메서드를 오버라이드합니다.
Dog 객체를 생성하고 eat 및 bark 메서드를 호출하면 Animal 클래스에서 정의된 eat 메서드와는 다른 메시지가 콘솔에 출력됩니다.
'Dev > Flutter' 카테고리의 다른 글
[Flutter] 학습 (7) - 클래스(Class) - 2 (0) | 2023.03.05 |
---|---|
[Flutter] 학습 (6) - 클래스(Class) - 1 (0) | 2023.03.05 |
[Flutter] 학습(5) - null 연산자 (0) | 2023.03.04 |
[Flutter] 학습(4) - 컬렉션 (Collection)-2 List에서 자주 사용하는 함수들 (0) | 2023.03.04 |
[Flutter] 학습(4) - 컬렉션 (Collection)-1 (0) | 2023.03.04 |
댓글