Deref — 역참조 트레잇
Deref — 역참조 트레잇
Deref는 * 역참조 연산자를 위한 트레잇이에요. &*value처럼 스마트 포인터가 내부 타입처럼 동작하게 해요.
출처: Rust 공식 문서
본문
pub trait Deref {
type Target: ?Sized;
fn deref(&self) -> &Self::Target;
}
연관 타입
// 역참조 결과 타입
type Target: ?Sized;
필수 메서드
// 값을 역참조해 Target에 대한 참조를 반환해요.
fn deref(&self) -> &Self::Target;
Box<T>, Rc<T>, Arc<T>, String 등이 구현해요. Deref 덕분에 *rc로 내부 값에 접근하거나, 슬라이스 메서드를 자동으로 사용할 수 있어요(Deref coercion).