■ @classmethod 데코레이터와 @staticmethod 데코레이터의 차이점을 비교하는 예제 코드를 보여준다.
▶ 예제 코드 (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 |
class Date: def __init__(self, year, month, day): self.year = year self.month = month self.day = day @classmethod def fromString(cls, dateString): year, month, day = map(int, dateString.split("-")) return cls(year, month, day) @staticmethod def isValidDate(dateString): year, month, day = map(int, dateString.split("-")) return year > 0 and 1 <= month <= 12 and 1 <= day <= 31 # 클래스 메소드를 사용한다. date = Date.fromString("2024-12-19") print(date.year, date.month, date.day) # 정적 메소드를 사용한다. print(Date.isValidDate("2024-12-19")) |