면접 단골 질문인 Garbage Collection(이하 GC, 가비지 컬렉션)에 대해 알아본다. 이 글에서는 글 제목처럼, 개념 / 유래 / 한계 / GC에 대해 알아야 하는 이유 등에 대해 알아본다. 개념 Garbage Collection, 메모리 관리 방법 중 하나로 말 그대로 쓰레기를 수집하는 기능이다. 여기서 "쓰레기"란 실제 쓰레기를 말하는 것이 아니라, 개발자가 동적으로 할당한 메모리 영역 중 더 이상 쓰이지 않는 영역을 말하며, 가비지 컬렉션은 그러한 영역을 자동으로 찾아내어 해제하는 기능이다. 보통 메모리에 접근이 불가능하면 "쓰레기"로 본다. 오래된 프로그래밍 언어 중 하나인 LISP의 아버지라 불리는 존 매카시가 1959년에 LISP의 메모리 관리를 위해 처음 만들었다고 알려져 있다...