슈퍼타입의 정적 멤버를 한정하지 않고 참조하는 경우
슈퍼타입의 정적 멤버를 한정하지 않고 참조하는 경우
한 클래스 안에서 상위 클래스(superclass)에 있는 정적(static) 멤버를 그 이름을 한정(qualified)하지 않고 그냥 참조하면 이 진단이 발생해요. 정적 멤버를 참조할 때는 정의한 타입의 이름을 꼭 붙여줘야 한다는 점을 알려주는 진단이에요.
본문
설명
analyzer는 한 클래스의 코드가 상위 클래스에 있는 정적 멤버를, 멤버 이름 앞에 해당 멤버를 정의한 타입의 이름을 붙이지 않고 참조할 때 이 진단을 내보내요.
예시
다음 코드는 정적 필드 x를 getter g에서, 정의 클래스의 이름을 붙이지 않고 참조하기 때문에 진단이 발생해요.
class A {
static int x = 3;
}
class B extends A {
int get g => x;
}
일반적인 해결 방법
정적 멤버의 이름 앞에 선언한 클래스의 이름을 붙여줘요.
class A {
static int x = 3;
}
class B extends A {
int get g => A.x;
}
더 알아보기
- 클래스와 상속, 정적 멤버에 대한 내용은 Dart 클래스 문서를 확인해 보세요.