Mid OOP When would you choose an interface over an abstract class? When you want to define pure contracts without implementation.When you need multiple inheritance.When you want loose coupling for dependency injection.