Method overriding is a concept in object-oriented programming (OOP) that occurs when a subclass provides a specific implementation for a method that is already defined in its superclass. The overridden method in the subclass has the same signature (name, return type, and parameters) as the method in the superclass.