Method overriding is a feature in Java where a subclass provides a new implementation for a method that is already provided by its superclass. The new implementation in the subclass must have the same method signature as the method in the superclass.