[파이썬] 클래스 변수와 인스턴스 변수
클래스 변수와 인스턴스 변수는 파이썬 객체 지향 프로그래밍(OOP)에서 사용되는 중요한 개념입니다. 클래스 변수는 클래스 안에 정의된 변수로, 객체 인스턴스들 간에 공유됩니다. 반면, 인스턴스 변수는 각 객체 인스턴스마다 독립적으로 존재합니다.
클래스 변수
클래스 변수는 클래스 안에 정의된 변수로, 객체 인스턴스들 간에 공유됩니다. 클래스 변수는 클래스 내부의 모든 메소드에서 사용할 수 있습니다.
예를 들어, 클래스 Person
에는 클래스 변수 species
가 있습니다. 모든 인스턴스는 species
라는 공통의 변수를 공유합니다.
class Person:
species = "Homo Sapiens"
person1 = Person()
person2 = Person()
print(person1.species) # Homo Sapiens
print(person2.species) # Homo Sapiens
인스턴스 변수
인스턴스 변수는 각 객체 인스턴스마다 독립적으로 존재합니다. 인스턴스 변수는 객체 인스턴스마다 다른 값을 가질 수 있습니다.
예를 들어, 클래스 Person
에는 인스턴스 변수 name
이 있습니다. 두 객체 인스턴스는 각각 다른 name
을 가질 수 있습니다.
class Person:
species = "Homo Sapiens"
person1 = Person()
person2 = Person()
person1.name = "John"
person2.name = "Jane"
print(person1.name) # John
print(person2.name) # Jane
결론
클래스 변수와 인스턴스 변수는 파이썬 객체 지향 프로그래밍에서 중요한 개념입니다. 클래스 변수는 클래스 안에 정의된 변수로, 객체 인스턴스들 간에 공유됩니다. 반면, 인스턴스 변수는 각 객체 인스턴스마다 독립적으로 존재합니다.