extends_non_class 진단: 클래스는 클래스만 extend할 수 있어요

extends_non_class 진단: 클래스는 클래스만 extend할 수 있어요

분석기가 내보내는 진단에는 이름이 있어요. extends_non_classextends 절에 클래스가 아닌 것으로 선언된 이름이 올 때 Dart 분석기가 알려주는 컴파일 타임 진단이에요. 클래스는 다른 클래스만 상속할 수 있어서, 함수나 변수 같은 것은 상속 대상이 될 수 없어요.

출처: extends_non_class

본문

설명

분석기는 extends 절에 클래스가 아닌 것으로 선언된 이름이 들어 있으면 이 진단을 만들어요. 다음 코드는 f가 함수로 선언되어 있기 때문에 이 진단을 만들어요.

예시

void f() {}

class C extends f {}

흔한 해결 방법

클래스가 Object가 아닌 다른 클래스를 상속하고 싶다면, extends 절의 이름을 그 클래스의 이름으로 바꿔요.

void f() {}

class C extends B {}

class B {}

클래스가 Object를 상속하고 싶다면, extends 절을 제거해요.

void f() {}

class C {}

더 알아보기