2026/07/04 2

Rust의 Copy와 Clone 차이점 정리

Rust의 Copy와 Clone 차이점 정리Rust의 소유권과 관련하여 Copy와 Clone의 차이점 정리 // 컴파일 Olet x = 5;let y = x;println!("{x}, {y}");// 컴파일 Xlet s1 = String::from("hello");let s2 = s1;println!("{s1}"); 둘 다 값을 다른 변수에 대입했을 뿐인데, 왜 하나는 되고 하나는 안 되는지 이 차이를 설명하는 개념이 Copy와 Clone 목차요약i32는 왜 대입 후에도 사용할 수 있을까?String은 왜 move될까?Copy란?Clone이란?헷갈리는 부분 정리구조체에서 Copy와 Clone 사용하기Copy를 붙일지 판단하는 기준정리 요약구분CopyClone호출 방식암묵적명시적사용 형태let y = x;..

Rust 소유권 (Ownership) 이해하기

Rust 소유권 (Ownership) 이해하기Rust에서 소유권은 단순한 문법이 아니라 메모리를 관리하는 기본 규칙. Rust는 GC가 메모리를 정리하는 방식도 아니고, 개발자가 직접 free를 호출하는 방식도 아님. 대신 컴파일 시점에 값의 owner, scope, 참조 관계를 검사해서 메모리 안전성을 보장. 목차Rust가 메모리를 관리하는 방식소유권 규칙Stack과 HeapMove, Clone, Copy함수 호출과 소유권 이동참조와 빌림Mutable reference 규칙Dangling reference를 막는 방식Slice 타입 Rust가 소유권을 사용하는 이유프로그램은 실행 중에 메모리를 사용함.문제는 사용이 끝난 메모리를 언제 정리할지임. 언어마다 이 문제를 푸는 방식이 다름.GC가 있는 언어는..