클래스 자체 메소드 활용하기
클래스 메소드(Class Method)는 클래스 자체에 속한 메소드로, 클래스 자체를 메소드의 첫 번째 인자로 받습니다.
클래스 메소드는 @classmethod
데코레이터(다른 함수를 감싸는 함수로, 감싸진 함수의 기능 확장)로 정의합니다.
클래스 메소드 사용 예시
클래스 메소드 사용 예시
class Employee:
raise_amount = 1.04
def __init__(self, name, salary):
self.name = name
self.salary = salary
@classmethod # 클래스 메소드 데코레이터
def set_raise_amt(cls, amount): # cls는 클래스 자체를 의미
cls.raise_amount = amount # 클래스 변수 수정
# 클래스 메소드 사용 예시
Employee.set_raise_amt(1.05)
emp1 = Employee("홍길동", 50000)
emp2 = Employee("박철수", 60000)
print(Employee.raise_amount) # 1.05
print(emp1.raise_amount) # 1.05
print(emp2.raise_amount) # 1.05
이 예제에서 set_raise_amt
는 클래스 메소드입니다.
이 메소드는 클래스 변수 raise_amount
를 수정하고, 변경된 값은 모든 인 스턴스에 반영됩니다.
클래스 메소드의 특징
-
클래스 변수 접근
: 클래스 메소드는 클래스 변수에 접근하고 수정할 수 있습니다. -
인스턴스 생성 없이 호출
: 클래스 메소드는 객체 인스턴스를 생성하지 않고도 호출할 수 있습니다. -
클래스 전체에 영향
: 클래스 메소드는 클래스 전체에 영향을 미치는 작업에 적합합니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!