RUST · INTERIOR

RefCell 런타임 borrow 카운터

RefCell은 컴파일 타임 대신 런타임에 borrow 규칙을 검사해 내부 가변성을 제공합니다.

핵심 구조

RefCell
borrow()공유 대여 카운터 증가
borrow_mut()가변 대여는 단독이어야 함
drop guardRef/RefMut이 사라지며 카운터 감소
panic규칙 위반은 런타임 실패
borrow()borrow_mut()drop guardpanic

판단 기준

check
내부 가변성불변 참조 안에서도 규칙을 지키며 값을 바꿀 수 있습니다.
테스트 목Mock 객체가 호출 기록을 저장할 때 유용합니다.
단일 스레드RefCell은 Sync가 아니므로 스레드 공유용이 아닙니다.
작은 범위RefMut guard의 생존 범위를 짧게 유지해야 합니다.