RefCell
은 보통 smart pointer가 보유하는 컨테이너 데이터 구조로서,
데이터를 가져오거나 안에 있는 것에 대한 mutable 또는 immutable한 참조를 대여할 수 있게 해줍니다.
데이터를 대여할 때, Rust는 런타임에 다음의 메모리 안전 규칙을 적용하여 남용을 방지합니다:
단 하나의 mutable한 참조 또는 여러개의 immutable한 참조만 허용하며, 둘 다는 안됨!.
이 규칙을 어기면 RefCell
은 panic을 일으킵니다.