avoid_renaming_method_parameters
avoid_renaming_method_parameters
상위 클래스의 메서드를 오버라이드할 때는 매개변수의 이름도 그대로 유지하는 게 좋아요. 매개변수 이름을 바꾸면 이 린트 규칙이 경고를 띄우는데, 왜 그래야 하는지와 어떻게 고치면 되는지를 이번 글에서 정리해 드릴게요.
출처: 원문
본문
진단 메시지
The parameter name '{0}' doesn't match the name '{1}' in the overridden method.
설명
분석기는 상위 클래스의 메서드를 오버라이드하는 메서드가 매개변수의 이름을 바꿀 때 이 진단을 만들어요.
예시
다음 코드는 B의 메서드 m에 있는 매개변수 이름이 b로, 오버라이드되는 메서드가 가진 매개변수 이름인 a와 다르기 때문에 이 진단이 발생해요.
class A {
void m(int a) {}
}
class B extends A {
@override
void m(int b) {}
}
일반적인 해결 방법
매개변수 중 하나의 이름을 서로 같게 바꿔 주면 돼요.
class A {
void m(int a) {}
}
class B extends A {
@override
void m(int a) {}
}