Owner
값의 소유자가 살아 있는 동안 리소스도 함께 유지됩니다.
ownership cleanup
RAII 흐름에서 값이 언제 정리되는지, 직접 drop 메서드를 부르면 안 되는 이유를 구분합니다.
값의 소유자가 살아 있는 동안 리소스도 함께 유지됩니다.
스코프 끝에 도달하면 Drop 구현이 자동으로 호출됩니다.
여러 값은 생성의 역순으로 정리되어 의존 관계를 보호합니다.
일찍 정리하려면 std::mem::drop에 값을 이동시킵니다.
drop 메서드를 직접 호출하면 이중 정리 위험 때문에 컴파일러가 막습니다.
파일 핸들, 잠금, 네트워크 연결처럼 리소스 수명을 소유권에 묶습니다.
정리 코드는 Drop 트레이트의 drop 메서드에 넣지만 호출은 런타임 흐름에 맡깁니다.
긴 스코프 안에서 잠금이나 큰 메모리를 빨리 놓아야 할 때 명시 drop을 씁니다.
직접 drop 호출을 금지해 같은 값이 두 번 정리되는 상황을 피합니다.
std::mem::drop 이후에는 값이 이동되었으므로 다시 사용할 수 없습니다.
Drop은 수동 free가 아니라 소유권 종료 시점에 붙는 자동 정리 규칙으로 이해하면 안전합니다.