Menu
CoddyTech

정적 메서드 데코레이터

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 매개변수는 필요하지 않습니다.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

객체 지향 프로그래밍의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러