코드팩토리의 플러터 프로그래밍 2판 책을 참고하여 공부용으로 작성한 게시글입니다.
📌 상속
단 하나의 클래스만 상속받을 수 있다.
class Person{
final Strina name;
void printName(){
print(name);
}
void personInfo(){
print("이름: ${name}");
}
}
//extends 키워드를 통해 상속
class Student extends Person{
final int age = 10;
//super : 부모 클래스를 지칭
//생성하면서 부모 클래스의 생성자도 실행해줘야한다. (중요)
Student(String name,):super(name,);
//이렇게 부모 클래스 생성자도 바로 초기화할 수 있다.
Student(super.name);
void printAge(){
print(age);
}
//오버라이드 : 부모 메서드 재정의
@override //키워드를 생략해도된다. (직접 명시하는 것이 협업 및 유지보수에 유리)
void printInfo(){
print("이름: ${this.name} 나이: ${this.age});
}
}
void main(){
Student student = Student();
//부모한테 물려받은 메서드
student.printName();
//자식이 새로 추가한 메서드
student.printAge();
}
오버라이드시 부모와 자식에 동일한 메서드이름을 가질경우, override 키워드가 없더라도 덮어써진다.
#코드팩토리의플러터프로그래밍2판 #공부용
'◼️Flutter' 카테고리의 다른 글
[Flutter Dart] 클래스 - 인터페이스로 사용 implements (0) | 2025.01.25 |
---|---|
[Flutter Dart] 클래스 - 오버라이드 @override (0) | 2025.01.25 |
[Flutter Dart] 클래스 - 게터 세터 (0) | 2025.01.25 |
[Flutter Dart] 클래스 - 프라이빗 변수 ' _ ' 키워드 (0) | 2025.01.25 |
[Flutter Dart] 클래스 - 네임드 생성자 (0) | 2025.01.25 |