학습 목표
1. dart 에서 인터페이스와 interface 키워드
2. extends와 implements 키워드에 차이점
3. 다중 인터페이스
1. dart 에서 인터페이스와 interface 키워드
Dart에는 interface라는 키워드가 없습니다. 그 대신, Dart는 클래스와 추상 클래스를 통해 인터페이스와 유사한 기능을 구현할 수 있도록 지원합니다.
인터페이스란 객체의 동작 규약을 정의하는 역할을 합니다. 다른 클래스가 해당 인터페이스를 구현하게 되면, 그 클래스는 인터페이스가 정의한 메서드를 반드시 구현해야 합니다.
추상 클래스를 사용한 방법 - 1
일반 클래스를 사용한 방법 - 2
2. extends와 implements 키워드에 차이점(상속과 구현에 차이점)
Extends (확장) Implements (구현)
사용 목적 | 클래스를 다른 클래스에서 상속받을 때 사용 | 클래스나 인터페이스의 메서드를 상속받을 때 사용(멤버 변수를 x) |
개수 제한 | 하나의 클래스만 상속 가능 | 여러 개의 클래스나 인터페이스를 구현 가능 |
메서드 | 부모 클래스의 모든 메서드 상속 | 인터페이스의 메서드들을 구현해야 함 |
필드 | 부모 클래스의 필드 모두 상속 | 인터페이스의 필드를 따로 재정의할 필요 없음 |
생성자 | 부모 클래스의 생성자가 먼저 호출 | 부모 클래스의 생성자는 호출되지 않음 |
키워드 | extends 키워드 사용 | implements 키워드 사용 |
메서드 | 오버라이딩 선택적 | 모든 메서드 구현 필수 |
접근 | super 키워드를 사용하여 부모 클래스 멤버에 접근 | 인터페이스 멤버는 super 키워드로 접근 불가능 |
다중 인터페이스
'Flutter > Dart' 카테고리의 다른 글
dart 제네릭 (0) | 2023.09.19 |
---|---|
dart Mixin(믹스인) 클래스 (1) | 2023.09.19 |
dart 추상 클래스 (0) | 2023.09.19 |
dart Enum (0) | 2023.09.19 |
dart static (0) | 2023.09.19 |