본문 바로가기
개발/Python

[Python] @classmethod 사용하기

by devhooney 2023. 6. 9.
728x90

@classmethod는 파이썬에서 사용되는 데코레이터(decorator)

이 데코레이터를 클래스 메서드(class method) 위에 사용하면 해당 메서드가 클래스에 속하는 메서드임을 나타낸다.

클래스 메서드는 인스턴스가 아닌 클래스 자체에 연관된 작업을 수행하는 메서드.

일반적인 인스턴스 메서드와는 달리, 클래스 메서드는 첫 번째 매개변수로 클래스 자체를 받는 cls 매개변수를 사용한다.

클래스 메서드는 클래스 레벨의 작업을 수행하는 데 유용함. 예를 들어, 클래스 변수를 조작하거나 변경하는 작업, 클래스의 다른 메서드를 호출하거나 인스턴스를 생성하는 작업 등을 수행할 수 있다.

- @classmethod를 사용하여 클래스 메서드를 정의하고 호출하는 간단한 예시

 

class MyClass:
    class_variable = 10

    @classmethod
    def class_method(cls):
        print("This is a class method")
        print("Value of class_variable:", cls.class_variable)

# 클래스 메서드 호출
MyClass.class_method()

 

- 결과

This is a class method
Value of class_variable: 10

 

클래스 메서드는 클래스 레벨에서 작업을 수행하기 때문에 인스턴스를 생성하지 않고도 호출할 수 있다.

 

728x90

'개발 > Python' 카테고리의 다른 글

[Python] ENUM 타입 사용하기  (0) 2023.06.10