Garbage Collector (GC)

Sandro·2023년 2월 6일
0

CS

목록 보기
2/6
post-thumbnail

요리할 때는 필요한 재료들을 조리대에 올려둔다. 조리대를 효율적으로 쓰려면 요리를 하면서 더 이상 필요없는 재료는 조리대에서 치워야 한다.

가비지 컬렉터는 더 이상 필요없는 재료를 조리대에서 치워주는 역할을 한다. 프로그래밍으로 보면 조리대는 메모리(RAM)이고 재료는 변수,함수,객체 등이다.

메모리에 쓰레기가 쌓이면 컴퓨터가 더 이상 작업하지 못하기 때문에 중간중간 치워줘야 한다. 이렇게 필요없는 데이터가 메모리를 차지하고 있는 상황을 메모리 누수라고 한다. C나 C++에서는 프로그래머가 직접 해야 Garbage Collecting 해야 한다. 하지만 대표적으로 자바에서는 GC를 자동으로 해준다. 이런 언어를 Managed Language라고 한다.

"GC가 있으니까 메모리는 더 이상 신경 안써도 되겠다."고 생각하면 큰 오산이다. 상황에 따라 메모리를 효과적으로 사용하는 방법이 있다. 따라서 코드를 짤 때 메모리를 효과적으로 사용할 수 있는 방법을 고민해야 한다.

GC의 자세한 작동 원리는 다음에 알아보겠다.

참고

profile
안녕하세요!

0개의 댓글