728x90
인스턴스 속성, 클래스 속성
인스턴스 메서드 (Instance Method)
- 인스턴스 메서드는 클래스의 인스턴스에 의해 호출되는 메서드
- 첫 번째 매개변수로 'self'를 사용하여 현재 인스턴스에 대한 참조를 전달
- 인스턴스 속성에 접근하고 수정하는데 사용됨
- 인스턴스 메서드는 'self'를 통해 인스턴스의 상태를 변경하거나 인스턴스의 속성에 접근 가능
class MyClass:
def __init__(self):
self.some_property = 1
def instance_method(self, some_int):
# 인스턴스 속성에 접근
self.some_property = some_int
정적 메서드 (Static Method)
- 정적 메서드는 특정 클래스와 관련이 있는 동작을 수행하지만, 인스턴스나 클래스에 대한 참조를 받지 않는 메서드
- '@staticmethod' 데코레이터를 사용하여 정적 메서드임을 나타냄
- 정적 메서드는 클래스의 인스턴스 속성에 접근 가능
- 정적 메서드는 주로 클래스와 관련된 유틸리티 함수를 구현하는 데 사용
class MyClass:
@staticmethod
def static_method():
# 클래스의 인스턴스 속성에 접근 불가능
# some_property = 10 불가능
# 클래스와 관련된 동작 수행
pass
클래스 메서드 (Class Method)
- 클래스 메서드는 클래스 레벨에서 호출되지만, 인스턴스에 대한 참조를 받지 않고, 클래스 자체에 대한 참조를 받음
- 첫 번째 매개변수로 'cls'를 사용하여 현재 클래스에 대한 참조를 전달
- 클래스 속성에 접근하고 수정하는데 사용됨
- 클래스 메서드는 'cls'를 통해 클래스 속성을 변경하거나 접근 가능
class MyClass:
some_class_property = 1
def class_method(cls):
# 클래스 속성에 접근
cls.some_class_property = 10
# 클래스 속성 변경
cls.some_class_method()
728x90
'Python' 카테고리의 다른 글
파이썬 병렬처리 라이브러리 비교 (1) | 2024.02.26 |
---|---|
파이썬 클래스 속성 (인스턴스 속성, 클래스 속성) (0) | 2023.06.05 |
PEP8 파이썬 스타일 가이드 (0) | 2023.06.05 |
파이썬 여러 버전 설치 및 개발환경 관리 (pipenv) (0) | 2022.10.24 |
파이썬 input & output (입력과 출력) (0) | 2022.10.24 |