Deref — 역참조 연산을 정의하는 트레이트

Deref — 역참조 연산을 정의하는 트레이트

Deref* 역참조 연산자와 자동 역참조(deref coercion) 를 정의하는 트레이트예요. 스마트 포인터 타입들이 이를 구현해서 기반 타입처럼 쓰이게 해줘요.

출처: Rust 공식 문서

본문

pub trait Deref {
    type Target: ?Sized;

    // Required method
    fn deref(&self) -> &Self::Target;
}

예를 들어 Box<T>Target = T로 구현해서 box.method()T의 메서드를 쓸 수 있게 돼요. Clone의 슈퍼트레이트 패턴과 달리, Deref는 기본적으로 Type: Deref<Target=...>의 암시적 변환을 제공해 코드를 간결하게 해줘요. 과도하게 쓰면 혼란을 줄 수 있어 Deref에서는 메서드 호출 외의 사용을 자제하는 게 권장돼요.

더 알아보기 (Learn more)

Rust 공식 문서