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) {}
}

더 알아보기