메모리 안전성

메모리 안전성은 해제 책임을 어디에 두는가의 문제다

힙 메모리는 누가 언제 해제하는지에 따라 성능, 지연, 오류 유형이 달라집니다. 언어와 런타임은 이 책임을 서로 다른 위치에 둡니다.

수동 해제

C와 C++

프로그래머가 free/delete를 직접 호출해 지연은 낮지만 실수 비용이 큽니다.

자동 수거

GC 언어

도달 가능성을 기준으로 회수해 해제 누락을 줄이지만 일시 정지가 생길 수 있습니다.

소유권 검사

Rust

컴파일러가 소유권과 빌림을 검사해 런타임 GC 없이 많은 오류를 차단합니다.

강점 세밀한 성능 제어 해제 누락 부담 감소 컴파일 타임 안전성
남는 위험 누수, 이중 해제, Use-After-Free 논리적 누수와 일시 정지 소유권 모델 학습 비용
확인 방법 ASan, Valgrind, 코드 리뷰 힙 프로파일러, 캐시 정책 컴파일러 오류와 타입 설계