Use Case

Example

Abstract Class

used for defining HIERARCHY of similar classes

Animal can be an abstract class and Human, Lion, Tiger can be concrete derived classes

Interface

used for defining BEHAVIOR of similar/non-similar classes

Height can be interface property and it can be implemented by Human, Building, Tree