[Rust] 그림으로 보는 소유권 규칙

이동. (copy를 구현하지 않은 타입) image

image (s는 더이상 사용할 수 없음)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


복사 (copy를 구현한 타입) image

image (i와 j 둘다 사용가능)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


변경가능한 borrow(빌림) image

image 저 스코프 안에서~
(m을 이동시킬 수 있음)
(m은 &로 다운그레이드 할 수 있음)
(m을 복사할 수는 없음)
(s를 사용할 수 없음)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


기본 borrow image

image 저 스코프 안에서~
(r을 복사할 수 있음. 당연히 이동도 할수있음)
(&s를 더 사용할 수 있음)
(s를 &mut로 참조할 수 없음)
(s를 이동시킬 수 없음)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ



image

image 배타적인 제어 (참조 자체가 이동 가능함)
변경 가능함.
대상을 움직이면 안됨.
대상은 반드시 살아있어야 함



image

image 배타적이지 않은 제어 (참조 자체는 복사 가능함)
변경 불가능함
대상을 움직이면 안됨.
대상은 반드시 살아있어야 함