Final answer:
Re-implementing an inherited method in a subclass to perform a different task is called overriding, which is a key concept in object-oriented programming allowing for polymorphism.
Step-by-step explanation:
Re-implementing an inherited method in a sub class to perform a different task from the parent class is called overriding. This enables a subclass to provide a specific implementation of a method that is already defined by its superclass or interface. The concept of overriding is fundamental in object-oriented programming as it allows for polymorphism, where the same interface can be used for different underlying forms (data types).
When a sub class overrides an inherited method, the version of the method that is executed is determined by the type of object that is used to call it. If the object is an instance of the subclass, then the overridden method in the subclass is called. This is different from method hiding where a subclass method with the same name and parameters as a method in the parent class hides the parent class's method, even if their return types are different, which can also be a source of confusion.