Reiter

We can use abstract methods in base classes to make sure that all classes that build on it implement those methods in some way.

This can help create a more clear hierarchy from more abstract to concrete classes, and prevent overlooking crucial functionalities further down the hierarchy.