고급 기능
이제 여러분은 러스트 프로그래밍 언어에서 가장 자주 쓰는 부분들을 배웠습니다. 21장에서 마지막 프로젝트를 하기 전에, 매일 쓰지는 않지만 가끔 마주칠 수 있는 언어의 몇 가지 측면을 살펴보겠습니다. 이 장은 그런 기능을 만났을 때 참고서처럼 다시 찾아볼 수 있는 장이라고 생각하면 됩니다. 여기서 다루는 기능들은 특정한 상황에서 특히 유용합니다. 자주 손이 가지는 않겠지만, 러스트가 제공하는 기능들을 전체적으로 이해하도록 해 두고 싶습니다.
이 장에서는 다음을 다룹니다.
- Unsafe Rust: 러스트의 일부 보장을 스스로 포기하고, 그 보장을 수동으로 지키는 책임을 직접 지는 방법
- 고급 트레이트: 연관 타입, 기본 제네릭 타입 매개변수, 완전 수식 문법, 슈퍼트레이트, 그리고 트레이트와 관련한 newtype 패턴
- 고급 타입: newtype 패턴을 더 깊이, 타입 별칭, never 타입, 동적 크기 타입
- 고급 함수와 클로저: 함수 포인터와 클로저 반환하기
- 매크로: 컴파일 시점에 “코드를 만드는 코드”를 정의하는 방법
러스트의 여러 기능이 한데 모여 있는 장입니다. 각자 필요한 것을 찾을 수 있을 겁니다. 이제 들어가 봅시다!