Perché si dovrebbe dichiarare un metodo di interfaccia Java astratto?

Oggi ho usato la funzione di refactoring di “interfaccia di pull” di Eclipse per creare un’interfaccia basata su una class esistente. La finestra di dialogo ha offerto di creare tutti i nuovi metodi della nuova interfaccia come metodi “astratti”.

Quale sarebbe il vantaggio di ciò?

Pensavo che il fatto che tu avessi il permesso di dichiarare i metodi dell’interfaccia come astratti era una caratteristica superflua e innocua del linguaggio che non è particolarmente incoraggiata.

Perché Eclipse supporta un tale stile, o perché qualcuno dovrebbe scegliere volontariamente di farlo?

Chiarimento: non sto chiedendo perché i metodi di interfaccia sono astratti, è ovvio. Sto chiedendo perché si dovrebbe scegliere esplicitamente di contrassegnarli come astratti poiché se sono nell’interfaccia sono comunque astratti.