Rust

C - 파생 가능한 트레이트

derive는 러스트에서 코드를 줄여 주는 편의 기능으로 자주 소개되지만, 실제로는 타입 설계 의도를 트레이트 계약으로 고정하는 장치입니다. 어떤 트레이트를 자동 구현할지 결정하는 순간, 해당 타입의 비교 가능성·정렬 가능성·디버깅 전략이 함께 정해집니다.

Debug, PartialEq, Eq처럼 derive로 자동 구현할 수 있는 트레이트가 타입의 사용 방식을 어떻게 바꾸는지 확인합니다.

1

부록 C: 파생 가능한 트레이트

이 책의 여러 곳에서 구조체나 열거형 정의에 적용할 수 있는 derive 속성에 대해 설명했습니다.

무엇을 자동화할 수 있는가
2

프로그래머 출력을 위한 Debug

Copy는 값 복사가 안전한 타입에 붙이며, 메서드 없이 복사 가능성을 타입 계약으로 표시합니다.

어떤 의미를 타입에 부여하는가
3

동등 비교를 위한 PartialEq 및 Eq

PartialEq와 Eq는 값 비교 의미를 명시하고 derive로 반복 구현을 줄일 수 있습니다.

derive