@override
just points out that the function is also defined in an ancestor class, but is being redefined to do something else in the current class. It’s also used to annotate the implementation of an abstract method. It is optional to use but recommended as it improves readability.
The annotation @override marks an instance member as overriding a superclass member with the same name.
https://api.dartlang.org/stable/1.24.3/dart-core/override-constant.html
JavaScript also supports @override
as an annotation, but it has to be in a comment. http://usejsdoc.org/tags-override.html.