Problem Statement
When would you prefer using an abstract class over an interface?
Explanation
An abstract class is useful when you have related classes that share common behaviour and some common code, as well as some methods you want subclasses to implement. Interfaces are about defining a contract, not sharing implementations.