Interfaces allow for easy substitution with mock implementations during testing.
When a class depends on an interface, you can easily substitute the actual implementation with a mock object during testing. This enables testing individual components in isolation. For example, if a `PaymentService` depends on `Payable`, you can create a mock `Payable` implementation to simulate different payment scenarios without interacting with real payment systems.
Additional Notes
How do interfaces improve testability in Java applications?