Tag : differences between abstract classes and interfaces