Non hai bisogno della @ annotazione Override per effettivamente comportamento di override; È un'annotazione perché aggiunge semplicemente del contesto l'intento del metodo per il compilatore, non cambiando il metodo stesso.
Senza l'annotazione, puoi intendere per sovrascrivere le funzionalità, ma per errore non riescono a farlo (utilizzando una firma leggermente diversa). L'aggiunta dell'annotazione indica al compilatore di generare un errore se questo metodo non è effettivamente un comportamento dominante.
In quanto tale, ha perfettamente senso come annotazione.