Por que não é permitido limitar o escopo de um método enquanto sobrescrevendo
Em Java, quando eu sobrescrevo um método, o compilador sinaliza qualquer tentativa de diminuir a visibilidade como um erro. Por ex: eu não posso substituir um método público como protegido, enquanto eu posso substituir um método protegido como público.
Estou interessado em conhecer a decisão de design / pensamento por trás dessa regra.