Sometimes it's necessary or at least useful for a subclass to adapt an inherited method to its needs.
Overriding an inherited method is easy: we just rewrite it the way we want it to be.
Hmm, wouldn't that just create a new method and make the code more complicate? What if we just override the previous eat() method?