Why interface is used instead of abstract class?