소유권(2)
-
[Rust/러스트] 참조자(References)와 빌림(Borrowing)
■ 참조자와 빌림 참조자와 빌림은 해당 스코프에서 다른 로직으로 소유권을 넘기지 않고 참조자를 넘김으로써 소유권을 유지하고자 할 때 사용합니다. 여기에서 소유권이 생소하게 느껴질 수 있습니다. 러스트는 다른 프로그래밍 언어들과 비교하면 소유권이라는 특징으로 보다 효율적으로 메모리 관리가 가능합니다. 이러한 특징은 프로그래머의 메모리 관리를 통해 프로그램을 보다 효율적으로 관리 가능하게 합니다. * 소유권에 대한 자세한 내용은 링크를 참고해 주세요. ◆ 소유권의 이동 경로 확인 변수 s 의 소유권 이동경로는 아래와 같습니다. main 함수 take_ownership 함수 take_ownership 함수 로직이 종료되면서 s의 메모리도 해제 s의 소유권 이동 경로에서 알 수 있듯이 println!("main..
2022.02.17 -
[Rust/러스트] 소유권(Owner)
■ 소유권 소유권은 러스트의 핵심 기능으로써, 모든 프로그램은 실행하는 동안 컴퓨터의 메모리를 사용하는 방법을 관리해야 합니다. 러스트가 아닌 다른 몇몇 언어들은 프로그램이 실행될 때 더 이상 사용하지 않는 메모리를 끊임없이 찾는 가비지 콜렉션을 갖고 있으며, 이는 프로그래머가 직접 명시적으로 메모리를 할당하고 해제해야 합니다. 이와 달리 러스트의 메모리는 컴파일 타임에 컴파일러가 체크할 규칙들로 구성된 소유권 시스템을 통해 관리됩니다. 따라서 소유권 기능들은 런타임 비용이 발생하지 않습니다. 소유권을 잘 이해하기 위해 소유권의 규칙과 스택(Stack), 힙(Heap) 메모리에 역할과 기능에 대해 알아둘 필요가 있으며, 아래에서 간단히 확인해 보겠습니다. ◆ 소유권 규칙 러스트의 각각의 값은 해당값의 오..
2022.02.17