객체 사이에서 값이 공유되는 클래스 변수
클래스 변수(Class Variable
)`는 클래스에 속한 변수로, 클래스에 의해 생성된 모든 객체 사이에서 값이 공유됩니다.
클래스 변수는 클래스 선언 내부에서 정의되며, 보통 클래스 정의의 최상단에 위치합니다.
생성자 __init__
을 활용해 생성된 객체별로 독립적인 값을 갖는 인스턴스 변수
와 달리, 클래스 변수는 클래스에 의해 생성된 모든 객체가 공유하는 값을 갖습니다.
클래스 변수 사용 예시
클래스 변수 사용 예시
class MyClass:
# 클래스 변수
class_variable = "공유 변수"
def __init__(self, name):
# 인스턴스 변수
self.name = name
# 클래스 변수에 접근
print(MyClass.class_variable)
# 출력: 공유 변수
# 인스턴스 생성
obj1 = MyClass("객체1")
obj2 = MyClass("객체2")
# 클래스 변수는 모든 인스턴스에서 공유
print(obj1.class_variable)
# 출력: 공유 변수
print(obj2.class_variable)
# 출력: 공유 변수
# 클래스 변수를 수정
MyClass.class_variable = "변경된 값"
print(obj1.class_variable)
# 출력: 변경된 값
print(obj2.class_variable)
# 출력: 변경된 값
# 인스턴스 변수는 개별적으로 유지
print(obj1.name)
# 출력: 객체1
print(obj2.name)
# 출력: 객체2
이 코드에서 class_variable
은 MyClass
클래스에 속한 클래스 변수로, MyClass
클래스 에 의해 생성된 모든 객체 사이에서 값이 공유됩니다.
obj1
과 obj2
인스턴스는 각각 name
인스턴스 변수를 가지고 있으며, 이 변수는 객체별로 독립적인 값을 유지합니다.
클래스 변수는 클래스 이름을 통해 접근할 수 있으며, 클래스 변수의 값을 수정하면 모든 인스턴스에 영향을 줍니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!