Overriding can lead to tightly coupled code and unforeseen behavior.
Method overriding can result in tightly coupled code if subclasses depend heavily on specific implementations of superclass methods. This can make future changes challenging, as altering a superclass method might require changes in all subclasses. Additionally, overriding methods can lead to unforeseen behavior if the subclass methods deviate significantly from expected behavior. For example, if a subclass overrides a method to handle a specific case without considering all scenarios handled by the superclass, it might introduce bugs.
Additional Notes
What design consequences can arise from method overriding?