Python
Python 라이프 사이클과 reference count
Bithub
2024. 3. 27. 11:29
728x90
참조 계수(Reference Count)
참조 계수란, 객체의 라이프 사이클(Life Cycle)을 관리하는 방법 중 하나로 객체를 참조하고 있는 횟수를 추적하는 지표다.
참조 계수가 0이 되면 해당 객체를 메모리에서 해제한다. 객체의 참조 계수를 보려면 sys 라이브러리의 getrefcount() 함수를 사용하면 된다.
import sys
num = 3
print(sys.getrefcount(num))
>> 33
3이라는 데이터가 담긴 객체를 33군데에서 참조하고 있다는 것이다.
그 33군데 중 num도 하나를 차지할 것이다.
class MyClass:
pass
obj = MyClass() # reference count = 1
obj2 = obj # reference count = 2
del obj2 # reference count = 1
Reference count가 0이 되면 메모리에서 해당 객체는 삭제된다.