gc(Garbage Collection) 는 메모리 관리를 위한 라이브러리이다.
Python은 gc 기능이 있기 때문에, 다른 언어들보다 편리하고 안전하다고 하다.(버그, 위험)
gc 기능을 통해서 해당 객체가 쓰이지 않는 다면, 객체를 정리해준다.
- c, c++ 같은 것들은 직접 할당하고 해제해야 한다고 함. (라이브러리가 있지만 그렇게 좋지는 않은 듯하다.)
기본적으로 del
의 효과를 낸다고 보면 된다.
gc.collect()
를 사용하면 현재 사용되지 않는 객체들을 대번에 정리해준다.
- del 같은 경우에는 reference counting 이라는 일반적인 방법을 쓰는데, 이 방법으로는 메모리에서 없애지 못할 수 있음. 그런 경우에 Generation Garbage Collection 기법을 사용한다. (Referenec method 가 기본이고, Generation 은 서브)
- 이러한 것까지 아직 사용하지는 않기 때문에 자세하게 이해하고 활용하지는 않지만, 훗날 더 정확하게 이해해야 한다면 밑에 medium 자료를 다시 읽고 정확히 이해할 것
Reference
https://wikidocs.net/13969
https://medium.com/dmsfordsm/garbage-collection-in-python-777916fd3189