How does versioning work differently for interfaces and abstract classes?
- Interfaces: Adding new members breaks existing implementations unless using
default interface methods (C# 8+).
- Abstract Classes: Can add new methods with implementation without breaking
derived classes.