728x90

인스턴스 속성 (Instance Attribute)

- 인스턴스 속성은 클래스의 각 인스턴스마다 개별적으로 유지되는 속성

- 각 인스턴스는 자체 인스턴스 속성을 가지고 있으며, 인스턴스마다 값이 다를 수 있음

- 인스턴스 메서드 내에서 'self'를 사용하여 인스턴스 속성에 접근하고 수정할 수 있음

- 인스턴스 속성은 해당 클래스 각각의 인스턴스에 대해 독립적임

- 예시

class MyClass:
    def __init__(self):
        self.instance_attribute = 10  # 인스턴스 속성

obj1 = MyClass()
obj1.instance_attribute = 20  # obj1의 인스턴스 속성을 수정
obj2 = MyClass()
print(obj1.instance_attribute)  # 출력: 20
print(obj2.instance_attribute)  # 출력: 10 (기본값)

 

클래스 속성 (Clase Attribute)

- 클래스 속성은 클래스에 속하는 속성으로, 해당 클래스의 모든 인스턴스가 공유하는 속성

- 클래스 정의 내부에서 클래스 변수로 선언되며, 모든 인스턴스가 동일한 값을 공유

- 클래스 속성은 클래스 자체와 관련이 있으며, 해당 클래스의 모든 인스턴스에서 동일한 값을 공유

- 클래스 메서드 내에서 'cls'를 사용하여 클래스 속성에 접근하고 수정할 수 있음

- 예시

class MyClass:
    class_attribute = 10  # 클래스 속성

obj1 = MyClass()
obj2 = MyClass()
print(obj1.class_attribute)  # 출력: 10
print(obj2.class_attribute)  # 출력: 10

MyClass.class_attribute = 20  # 클래스 속성 수정
print(obj1.class_attribute)  # 출력: 20 (수정된 값)
print(obj2.class_attribute)  # 출력: 20 (수정된 값)
728x90

+ Recent posts