가비지 컬렉션

    [.NET] 가비지 컬렉션(Garbage Collection)

    [.NET] 가비지 컬렉션(Garbage Collection)

    1. 가비지 컬렉션의 개요 가비지 컬렉션은 메모리 수거를 의미하며 .NET CLR의 가비지 컬렉터가 가비지 컬렉션을 수행하여 메모리를 관리합니다. C나 C++에서는 객체를 위한 메모리 공간을 확보하고 객체를 할당한 후에 해당 객체의 작업이 종료되면 할당했던 메모리의 힙을 가리키는 포인터를 통해 메모리를 해제하는 작업을 직접 구현해야 합니다. 문제는 이 과정에서 메모리 해제를 제대로 해주지 않으면 메모리가 낭비되는 결과를 초래하게 된다는 것입니다. C/C++런타임이 객체를 메모리에 할당하는 과정을 보면 일단 여러 개의 블록으로 나누어진 메모리를 링크드 리스트로 연결해 관리하는데 만약 객체를 할당해야 하는 순간이 오면 해당 객체를 할당할만한 적당한 메모리 블록을 찾은 뒤 해당 블록을 다시 객체에 맞게 나누어..