프로그래밍을 할 때 메모리 관리는 필수 불가결하다.프로그래머가 직접 메모리를 할당과 해제를 관리한다면 실수로 인해 사용 중인 메모리가 어떠한 이유로 해제되어 프로그램이 고장 날 수도 있고, 메모리 누수가 일어날 수도 있다. 이러한 문제를 해결하기 위해 직접 할당과 해제를 하지 않고 메모리를 관리하는 여러 시스템이 만들어졌다.이 글에선 메모리를 관리하는 시스템 3가지를 소개하려 한다. 1. 참조 카운팅(Reference Counting)이 방법은 주로 C++에서 사용되는 방법으로, 객체를 참조하는 카운팅을 통해 객체의 할당 해제 시점을 결정하는 방식이다.C++에서 '스마트 포인터'를 사용해 카운팅 한다. 객체를 참조하면 카운트가 1이 늘어나고, 참조를 하는 객체가 소멸된다면 카운트가 1이 줄어든다. 최종적..