가이드라인

가비지 컬렉션으로 메모리를 관리하는 방법

가비지 컬렉션(Garbage Collection)은 더 이상 사용되지 않는 객체(참조되지 않는 메모리)를 자동으로 관리하고 제거하는 메모리 관리 시스템입니다.

메모리는 컴퓨터에서 데이터를 저장하는 공간입니다. 프로그램이 실행되는 동안 필요한 데이터는 메모리에 저장되며, 프로그램이 종료되면 메모리에 저장된 데이터는 삭제됩니다.


가비지 컬렉션은 메모리 누수(Leak)를 방지하고 프로그램의 메모리 사용 효율을 높이는 데 중요한 역할을 합니다.


클래스에서 변수를 저장하는 경우

클래스가 변수를 저장하면 해당 변수가 참조하는 객체는 메모리에 계속 남아 있게 됩니다.

이 객체는 해당 변수가 더 이상 필요 없어 가비지 컬렉션 대상이 될 때까지 메모리에서 제거되지 않습니다.

변수를 저장하는 클래스 예시
class MyClass: def __init__(self, data): self.data = data # 객체 생성 및 참조 obj = MyClass([1, 2, 3])

이 예제에서 obj 객체는 MyClass의 인스턴스를 참조하며,[1, 2, 3] 리스트를 data 변수에 저장합니다. obj가 존재하는 동안, 가비지 컬렉션은 이 객체를 회수하지 않습니다.


변수를 저장하지 않는 클래스

클래스가 변수를 저장하지 않으면, 객체에 대한 참조가 없어질 때 가비지 컬렉션이 해당 인스턴스를 자동으로 메모리에서 회수합니다.


변수를 저장하지 않는 클래스 예시
class MyClass: pass # 객체 생성 및 참조 obj = MyClass() # 참조 제거 del obj # 가비지 컬렉션 대상

이 예제에서 objMyClass의 인스턴스를 참조합니다.

del obj를 호출하여 참조를 제거하면, 가비지 컬렉션이 MyClass 인스턴스를 회수할 수 있습니다.

Mission
0 / 1

빈칸에 들어갈 가장 적절한 단어는 무엇일까요?

가비지 컬렉션은 프로그램에서 더 이상 사용되지 않는 를 찾아내어 회수하는 것을 뜻합니다.
클래스
메모리
변수
객체

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과