본문 바로가기
개발/Python

Python 정적 메소드(@staticmethod)

by 보안매크로 2024. 3. 14.
728x90

Python에서 Class에 담겨있는 함수를, 인스턴스 생성 없이 생성하는 방법이 있다.

@staticmethod

 - 클래스의 인스턴스를 생성하지 않고 메서드에 접근 가능
 - 메서드 내부에서 클래스 변수나 인스턴스 변수에 접근하지 않는다. 즉, 'self'나 'cls' 매개변수를 매서드에서 사용하지 않음
 - 클래스나 인스턴스의 상태와 독립적인 기능을 수행하는 함수 내부에 정의할 때 사용

사용예제

class MathUtility:
    @staticmethod
    def add(a, b):
        return a + b

    @staticmethod
    def multiply(a, b):
        return a * b

# 클래스 인스턴스를 생성하지 않고 메서드 호출
result_add = MathUtility.add(5, 3)
result_multiply = MathUtility.multiply(5, 3)

print(result_add)  # 출력: 8
print(result_multiply)  # 출력: 15
 

 

728x90