■ ABC 클래스에서 @abstractmethod 데코레이터를 사용해 추상 클래스/메소드를 만드는 방법을 보여준다.
▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
import math from abc import ABC, abstractmethod class Shape(ABC): @abstractmethod def getArea(self): pass @abstractmethod def getPerimeter(self): pass class Square(Shape): def __init__(self, side): self.side = side def getArea(self): return self.side * self.side def getPerimeter(self): return 4 * self.side class Circle(Shape): def __init__(self, radius): self.radius = radius def getArea(self): return math.pi * self.radius * self.radius def getPerimeter(self): return 2 * math.pi * self.radius square = Square(4) print(square.getArea() ) # 16 print(square.getPerimeter()) # 16 circle = Circle(2) print(circle.getArea() ) # 12.566370614359172 print(circle.getPerimeter()) # 12.566370614359172 |