java.io.Serializable을 구현하는 클래스의 readResolve()
또는 writeReplace() 메서드가 protected로 선언되어 있지 않은 경우를 보고합니다.
readResolve() 및 writeReplace() 메서드를 private으로 선언하면 하위 클래스가 확인 없이 이 메서드를 무시할 수 있습니다. 반면 public으로 선언하면 신뢰할 수 없는 코드에 의해 호출될 수 있습니다.
포함하는 클래스가 final로 선언된 경우 이 메서드를 private으로 선언할 수 있습니다.
예:
class ClassWithSerialization implements Serializable {
public Object writeReplace() { // 경고: 'writeReplace()'가 protected로 선언되지 않았습니다
...
}
}