본문 바로가기

CS

가비지 컬렉션이란 무엇인가

가비지 컬렉션(Garbage Collection)은 프로그래밍 언어에서 메모리 관리의 측면에서 사용되는 중요한 개념으로 주로 메모리 관리를 자동화 하고 불필요한 메모리 사용을 최소화 하기 위해서 사용됩니다. 가비지 컬렉션은 주로 고급 프로그래밍 언어에서 사용되며, C++, C#, .NET, Java, Python, Ruby등의 언어에서 지원됩니다.

 

가비지 컬렉션은 다음과 같은 주요 목적을 가지고 있습니다.

  1. 메모리 누수 방지 : 가비지 컬렉션은 프로그램이 할당한 메모리를 추적하고, 더 이상 사용되지 않는 메모리를 식별하여 해제하는 역활을 합니다. 이로써 메모리 누수를 방지하고 프로그램이 메모리를 계속해서 점유하지 않도록 합니다.
  2. 자동 메모리 관리 : 프로그래머는 메모리 할당 및 해제를 수동으로 처리할 필요가 없으므로 코드를 더 간결하게 작성할 수 있습니다. 이로 인해 코드의 가독성을 향상되며, 버그 및 메모리 관리 오류가 줄어듭니다.

가비지 컬렉션은 다음과 같은 원리로 동작합니다.

  1. 주기적으로 또는 메모리 부족 상황에서 실행됩니다.
  2. 실행 중인 프로그램의 모든 객체나 데이터 구조를 스캔하고, 어떤 객체가 더 이상 참조되지 않는지 확인하여 가비지로 표시합니다.
  3. 가비지로 표시한 객체를 메모리에서 해제합니다.

가비지 컬렉션은 메모리 관리를 간소화하고 프로그램의 안정성을 향상시키는데 도움이 되지만, 잘못된 사용 시 성능 저하를 일으킬 수도 있습니다. 프로그래머는 메모리 관리에 대한 이해와 언어 및 가비지 컬렉션 시스템의 동작 원리를 알고 있어야 하며, 필요에 따라 메모리 관리를 직접 제어해야 하는 경우도 있습니다.

'CS' 카테고리의 다른 글

제네릭이란  (0) 2023.11.16
배열과 List, ArrayList, Dictionary 의 차이점  (0) 2023.11.07
박싱과 언박싱이란  (0) 2023.11.07
가비지 컬렉터를 회피하기 위한 전략  (0) 2023.10.30
가비지 컬렉터란 무엇인가  (0) 2023.10.30