빌림

참조와 대여의 안전 규칙

참조는 소유권을 넘기지 않고 값을 읽거나 바꾸게 하지만, 동시에 허용되는 빌림의 조합은 엄격히 제한됩니다.

빌림 판정 여러 불변 참조는 가능하지만, 가변 참조가 있는 동안에는 다른 참조를 함께 둘 수 없습니다.

참조가 가리키는 값보다 오래 살아남지 못하게 하여 해제된 메모리를 읽는 상황을 컴파일러가 차단합니다.

&T

소유권 이동 없이 값을 읽을 수 있으며 여러 개가 동시에 존재할 수 있습니다.

&mut T

값을 수정할 수 있지만 같은 범위에서 단 하나만 허용됩니다.

대여 범위

참조가 마지막으로 쓰인 뒤에는 새 빌림이 가능해져 코드가 더 유연해집니다.

댕글링 참조

지역 값의 참조를 밖으로 돌려보내는 코드는 컴파일되지 않습니다.

참조 오류 읽기

댕글링 방지
1
소유자

원래 값을 소유한 변수가 어느 스코프까지 유효한지 봅니다.

2
빌림

불변 참조와 가변 참조가 겹치는 구간을 찾습니다.

3
수명

참조가 실제 값보다 더 오래 사용되는지 확인합니다.

대여 규칙은 불편한 제한이 아니라 읽기와 쓰기가 같은 값을 동시에 흔들지 못하게 하는 약속입니다.