¿Por qué no está permitido reducir el alcance de un método mientras se reemplaza?

En Java, cuando anulo un método, el compilador marca cualquier intento de reducir la visibilidad como un error. Por ejemplo: no puedo anular un método público como protegido, mientras que puedo anular un método protegido como público.

Estoy interesado en saber la decisión de diseño / pensar detrás de esta regla.

Respuestas a la pregunta(4)

Su respuesta a la pregunta