Programming/Rust
[Rust] 소유권 시스템
개요 각 언어들에서는 메모리의 안전성을 보장하기 위해 각자만의 메모리 보호 시스템을 구동시킨다. C/C++ 같은 경우에는 개발자가 직접 메모리를 할당하거나 해제해주어야 하고, Java나 Python 같은 경우에는 가비지 컬렉터(Garbage Collector, 이하 GC)라는 프로그램을 따로 구동시킨다. C/C++이 Java나 Python보다 빠른 속도를 갖는 것 또한, 이처럼 GC가 존재하지 않아서도 있겠다. 하지만, C/C++은 아무래도 사람이 직접적으로 메모리 관리를 해주어야하기 때문에 메모리 관련 버그가 자주 발생하기도 한다. 실제로 C/C++은 메모리 관리의 복잡성으로 인해 많은 보안 문제가 지적되고 있다. 실제 사례로 2017년 파이퍼폭스에서 발견된 중대한 버그 69건 중 32건이 메모리 관리..
2023. 9. 24. 00:04