파이썬에서 메모리 관리는 어떻게 되는가..?

기린이·2023년 7월 13일
0

CS 지식

목록 보기
12/15

python의 메모리 구조

스택영역은 정적할당에, 힙영역은 동적할당에 이용된다.

스택에는 지역변수가 저장되어 호출이 끝나면 소멸된다.

힙에는 new명령으로 생선된 인스턴스 변수(사용자의 동적할당)가 저장, 메소드 호출이 끝나도 소멸되지 않는다.

python에서 모든 것은 객체다.

클래스, 함수, 문자열, 숫자 모든 것은 객체이다.

a = 1
b = 1

이라고 했다면 1이라는 객체를 만들고 이를 a와 b가 참조하게 된다.

1이라는 객체는 메모리의 힙영역에 저장하고, 참조자는 스택 영역에 저장된다.

python에서 메모리가 관리되는 방법

위에서 살펴본 것과 같이 모든 객체는 메모리의 힙영역에, 참조자는 스택영역에 저장.

객체 중 reference count가 0이 되는 경우 메모리 해제하는 방식으로 메모리를 동적할당한다.

정리

  • 파이썬은 python memory menagement가 자동으로 메모리 관리를 해준다.
  • 파이썬의 모든 것은 객체이고, 이 객체는 힙영역에 저장된다. 힙영역의 동적 할당을 파이썬에서 자동으로 해주는 것이다.
  • 할당을 관리하는 방법은 객체의 reference count가 0이 되면 해당 객체에 대한 메모리를 해제한다.

https://jay-ji.tistory.com/105
https://pearlluck.tistory.com/758

profile
중요한 것은 속력이 아니라 방향성, 공부하며 메모를 남기는 공간입니다.

0개의 댓글