반응형
개발 언어에서는 class 변수와 instance 변수 개념을 나누어 정의 하고 있습니다.
class 변수
- 프로그램이 종료 될때까지 유지
- 같은 class와 공유된다
- 메모리에 올라갈때 class와 같이 한번만 생성됨
instance 변수
- 객체 생성시마다 새로운 변수로 생성됨
- 같은 class와도 공유되지 않는다
python에서는 이와 같은 개념을 표현하는 문법을 알아보겠습니다.
class Variables:
# class 변수 선언
classVar = 1
def __init__(self):
# instance 변수 선언
self.instanceVar = 2
v = Variables()
print("Class Variable : ", v.classVar)
print("Instance Variable : ", v.instanceVar)
# Class Variable : 1
# Instance Variable : 2
class에서 instance 변수로 사용하는 모든 변수는 __init__ 함수 안에 정의해 주어야 합니다.
변수 생성 순서
- Class 변수 생성
- Instance 변수 생성
해당 순서는 class가 메모리에 등록될 때에 class 변수는 class와 같이 등록되지만 Instance 변수는 Instance를 생성하는 시점에 등록되기 때문입니다.
반응형
'Python' 카테고리의 다른 글
[Python] 오늘도 정리 - yield란? (0) | 2022.11.11 |
---|---|
[Python] 함수 정의 하기 (2) | 2022.11.03 |
[Python] Decorators 장식자 알아보기 (0) | 2022.08.10 |
일급 함수(First Class function)와 Closure (0) | 2022.08.06 |
black을 사용하면 코드 포맷팅, 컨밴션 통일이 가능하다고? (0) | 2022.08.06 |