본문 바로가기
Flutter/Dart

dart 인터페이스

by 남행비 2023. 9. 19.

학습 목표

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