Clone — 값의 복사본 생성 트레잇
Clone — 값의 복사본 생성 트레잇
Clone은 값의 복사본을 만드는 트레잇이에요. Copy와 달리 비트 단위 복사가 아닌, 타입이 정의한 복제 논리를 사용해요.
출처: Rust 공식 문서
본문
pub trait Clone: Sized {
fn clone(&self) -> Self;
fn clone_from(&mut self, source: &Self) { ... }
}
필수 메서드
// 값의 복사본을 반환해요.
fn clone(&self) -> Self;
제공 메서드
// source에서 값을 복사-대입해요.
fn clone_from(&mut self, source: &Self) { ... }
Clone은 Box, Vec, String, 모든 기본 타입 등 많은 타입에 구현돼요. #[derive(Clone)]로 쉽게 구현할 수 있어요. Copy 타입은 항상 Clone도 구현해요.