GC(Garbage Collection)은 메모리 관리 기법 중의 하나이다. 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하여 반환하는 기능.
GC를 지원하는 환경에서는
1. 프로그래머가 동적으로 할당한 메모리 영역의 전체를 완벽하게 관리할 필요가 없어진다.
어떤 메모리를 해제할지 결정하는 데 비용이 든다.
객체가 필요 없어지는 시점을 프로그래머가 미리 알고 있는 경우에도 GC 알고리즘이 메모리 해제 시점을 추적해야 하므로 이 작업은 오버헤드가 발생한다.
메모리 할당 해제가 일어나는 타이밍을 사용자가 예측하거나 통제하기 어렵다.
그러므로 프로그램이 예측 불가능하게 일시적으로 정지할 수 있다.
이런 특성은 특히 실시간 시스템에는 적합하지 않다.