
고급 트레잇
associated type 대 generic, GATs, trait object, dyn 키워드, object safety, vtable
22 면접 질문·
Senior
1trait에서 associated type과 generic 매개변수의 주요 차이점은 무엇인가요?
1
trait에서 associated type과 generic 매개변수의 주요 차이점은 무엇인가요?
답변
associated type은 타입당 하나의 trait 구현만 허용하는 반면, generic 매개변수는 여러 구현을 허용합니다. associated type을 사용하면 타입이 구현 자체에 의해 결정되므로 타입 추론이 단순해지고 사용할 때마다 타입을 지정할 필요가 없습니다.
2Rust에서 trait object를 생성하려면 어떤 키워드를 사용하나요?
2
Rust에서 trait object를 생성하려면 어떤 키워드를 사용하나요?
답변
Rust에서 trait object를 생성하려면 dyn 키워드를 사용합니다. 이는 메서드 디스패치가 vtable을 통해 런타임에 동적으로 일어남을 나타내며, 컴파일 시점에 해결되는 generic의 정적 디스패치와는 대조됩니다.
3trait object 맥락에서 vtable이란 무엇인가요?
3
trait object 맥락에서 vtable이란 무엇인가요?
답변
vtable(virtual table)은 구체 타입에 대한 trait 메서드 구현을 가리키는 포인터들의 테이블입니다. trait object의 동적 디스패치에 사용되어, 컴파일 시점에 구체 타입을 몰라도 런타임에 올바른 메서드를 호출할 수 있게 합니다.
4
trait이 object-safe하려면 어떤 조건을 충족해야 하나요?
5
Clone trait은 왜 object-safe하지 않나요?
+19 면접 질문
기타 Rust 면접 주제
Rust 기초
Junior
25개 질문Ownership & Borrowing
Junior
22개 질문Structs & Enums
Junior
20개 질문에러 처리
Junior
18개 질문컬렉션
Junior
20개 질문모듈과 패키지
Junior
18개 질문Traits
Mid-Level
22개 질문Generics
Mid-Level
20개 질문Lifetimes
Mid-Level
20개 질문Iterators & Closures
Mid-Level
22개 질문Smart Pointers
Mid-Level
22개 질문Concurrency Basics
Mid-Level
20개 질문async/await
Mid-Level
22개 질문Testing
Mid-Level
18개 질문Cargo & Ecosystem
Mid-Level
18개 질문Pattern Matching
Mid-Level
18개 질문매크로
Mid-Level
20개 질문Serde와 직렬화
Mid-Level
20개 질문Unsafe Rust
Senior
20개 질문고급 lifetime
Senior
20개 질문Type System
Senior
20개 질문Tokio & Async I/O
Senior
22개 질문성능 최적화
Senior
20개 질문Memory Management
Senior
20개 질문Web Frameworks
Senior
22개 질문Database Integration
Senior
20개 질문Rust 디자인 패턴
Senior
20개 질문