정적 메서드 데코레이터
Coddy Python 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 64개 중 11번째.
@staticmethod 데코레이터는 self나 클래스가 필요 없는 메서드를 만듭니다. 이 메서드는 일반 함수처럼 작동하지만 클래스에 속합니다.
정적 메서드가 있는 클래스의 예시는 다음과 같습니다.
class MathHelper:
@staticmethod
def add(a, b):
return a + b
@staticmethod
def is_even(number):
return number % 2 == 0클래스 이름을 사용해 정적 메서드를 호출하세요:
result = MathHelper.add(5, 3)
print(result)
check = MathHelper.is_even(10)
print(check)객체에서도 호출할 수 있습니다:
helper = MathHelper()
result2 = helper.add(2, 4)
print(result2)출력:
8
True
6정적 메서드는 인스턴스 데이터나 클래스 데이터에 접근하지 않습니다:
class Calculator:
brand = "Python Calc"
def __init__(self, owner):
self.owner = owner
@staticmethod
def multiply(x, y):
# 여기에는 self가 없으므로 self.owner를 사용할 수 없습니다
return x * y핵심 요점: 클래스와 관련은 있지만 인스턴스(self)나 클래스 데이터에 접근할 필요가 없는 함수에는 @staticmethod를 사용하세요. self 매개변수는 필요하지 않습니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러