[rust] 제네릭 인터페이스
제네릭 인터페이스는 Rust에서 제네릭을 활용하여 다양한 타입을 지원하는 인터페이스를 정의하는 방법입니다.
제네릭 인터페이스의 이점
제네릭 인터페이스를 사용하면 동일한 인터페이스를 사용하여 다양한 타입에 대해 작업을 수행할 수 있습니다. 이는 코드의 재사용성을 높이고 유형 안전성을 제공합니다.
예를 들어, Vec<T>
는 T의 여러 타입에 대해 벡터를 생성할 수 있는 제네릭 인터페이스입니다.
let numbers: Vec<i32> = Vec::new();
let words: Vec<&str> = Vec::new();
위 예제에서 Vec
는 제네릭 인터페이스이며, i32
와 &str
과 같은 다양한 타입에 대해 벡터를 생성할 수 있습니다.
제네릭 인터페이스 작성 예제
다음은 제네릭 인터페이스를 작성하는 예제입니다.
trait Printer<T> {
fn print(&self, value: T);
}
struct IntegerPrinter;
impl Printer<i32> for IntegerPrinter {
fn print(&self, value: i32) {
println!("Value: {}", value);
}
}
struct StringPrinter;
impl Printer<&str> for StringPrinter {
fn print(&self, value: &str) {
println!("Value: {}", value);
}
}
위 예제에서 Printer
는 제네릭 인터페이스로, T
라는 제네릭 타입을 사용하여 print
메서드를 정의합니다.
결론
제네릭 인터페이스를 사용하면 코드의 유연성을 높이고 반복을 줄일 수 있습니다. Rust는 이러한 유연성을 제공하여 다양한 타입으로 작업할 수 있는 강력한 제네릭 시스템을 제공합니다.
참고 자료
- Rust 제네릭 가이드: Rust 공식 문서
- Rust 제네릭 인터페이스 예제: Rust by Example