[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는 이러한 유연성을 제공하여 다양한 타입으로 작업할 수 있는 강력한 제네릭 시스템을 제공합니다.

참고 자료