3: Decorator, polymorphism(virutal function)