Although there are many differences between interface and abstract class but the main primary biggest difference was that abstract class can have methods with implementation but interface can have only the declaration. But from C# 8 feature interface can have default method implementation so it will not break anything if client gets the updated interface and client can override as well if it wants. But I would like to know why this feature is added if we already have abstract class?
Given that there are many features which are there for interface but not for abstract class like, multiple inheritance, no constructor, no static members, cannot be partial, only public members.