protected 제어자가 없는 final 클래스에서 protected 멤버를 보고합니다.

final 클래스는 상속될 수 없으므로 메서드를 protected로 표시하면 혼동될 수 있습니다. 해당 멤버를 private 또는 package-visible로 선언하는 것이 좋습니다.

예:

record Bar(int a, int b) {
  protected int sum() { 
     return a + b;
  }
}

빠른 수정을 적용한 후:

record Bar(int a, int b) {
  int sum() { 
     return a + b;
  }
}

예시에 나오듯이 클래스는 명시적 또는 묵시적으로 final로 표시될 수 있습니다.