객체 사이에서 값이 공유되는 클래스 변수
클래스 변수(Class Variable)는 클래스에 속한 변수로, 클래스에 의해 생성된 모든 객체 사이에서 값이 공유됩니다.
클래스 변수는 클래스 정의 내에서 선언되며, 클래스 이름을 통해 접근할 수 있습니다.
클래스 변수 사용 예시
클래스 변수 사용 예시
class Employee:
raise_amount = 1.04 # 클래스 변수
def __init__(self, name, salary):
self.name = name
self.salary = salary
def apply_raise(self):
self.salary = int(self.salary * Employee.raise_amount)
# 클래스 변수 사용 예시
emp1 = Employee("홍길동", 50000)
emp2 = Employee("박철수", 60000)
print(Employee.raise_amount) # 1.04
print(emp1.raise_amount) # 1.04
print(emp2.raise_amount) # 1.04
Employee.raise_amount = 1.05 # 클래스 변수 변경
print(emp1.raise_amount) # 1.05 (클래스 변수가 변경되면 모든 인스턴스에 반영됨)
이 예제에서 raise_amount
는 Employee
클래스의 모든 인스턴스에 영향을 미치는 클래스 변수입니다. 클래스 변수의 값이 변경되면, 모든 인스턴스에서 이 변경 사항이 반영됩니다.
클래스 변수의 특징
-
공유
: 클래스 변수는 클래스의 모든 인스턴스 간에 공유됩니다. -
메모리 효율
: 클래스 변수는 각 객체마다 별도로 저장되지 않아 메모리를 효율적으로 사용합니다. -
클래스에서 관리
: 클래스 변수는 클래스에서 관리되므로 인스턴스를 생성하지 않아도 접근할 수 있습니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!