getter가 재귀적으로 자기 자신을 반환
getter가 재귀적으로 자기 자신을 반환 (diagnostics_recursive_getters)
이 문서는 Dart 린트(lint) 규칙 diagnostics_recursive_getters를 설명하는 문서예요. getter가 자기 자신을 다시 호출하면 끝없이 반복되는 무한 루프가 생기는데요. 언제 이런 일이 벌어지고 어떻게 고치는지 함께 살펴볼게요.
본문
진단 메시지
The getter '{0}' recursively returns itself.
getter '{0}'이(가) 재귀적으로 자기 자신을 반환하고 있어요.
설명
분석기는 어떤 getter가 자기 자신을 호출할 때 이 진단을 만들어 내요. getter가 자기 자신을 반환하려고 하면 값을 계산하는 과정이 다시 자기 자신을 호출하게 되어 무한 루프에 빠지게 돼요.
예시
다음 코드는 getter count가 자기 자신을 호출하기 때문에 이 진단을 만들어 내요.
class C {
int _count = 0;
int get count => count;
}
일반적인 해결 방법
getter가 자기 자신을 호출하지 않도록 바꿔 주세요.
class C {
int _count = 0;
int get count => _count;
}
더 알아보기
- Dart 분석기 진단 목록에서 다른 진단들도 함께 살펴보세요.
- getter와 setter를 어떻게 쓰는지는 Dart 공식 문서의 메서드 문서를 참고해요.