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
'Python' 카테고리의 다른 글
파이썬 객체지향 프로그래밍 (0) | 2024.03.02 |
---|---|
파이썬 병렬처리 라이브러리 비교 (1) | 2024.02.26 |
파이썬 메서드 (인스턴스 메서드, 정적 메서드, 클래스 메서드) (0) | 2023.06.05 |
PEP8 파이썬 스타일 가이드 (0) | 2023.06.05 |
파이썬 여러 버전 설치 및 개발환경 관리 (pipenv) (0) | 2022.10.24 |