[rust] 제네릭 트레이트

Rust에서 제네릭 트레이트는 제네릭한 트레이트를 정의하여 여러 타입에서 동작할 수 있는 코드를 작성하는 데 사용됩니다.

제네릭 트레이트 정의하기

제네릭 트레이트는 특정 타입에 한정되지 않고 여러 타입에 대해 작동하는 트레이트입니다. 제네릭 트레이트를 정의할 때는 trait 키워드 다음에 <T>와 같이 제네릭 타입 매개변수를 명시합니다. 예를 들어, 벡터와 같은 여러 타입에서 사용할 수 있는 Display 트레이트를 다음과 같이 정의할 수 있습니다.

trait Display<T> {
    fn display(&self, item: T);
}

제네릭 트레이트 구현하기

제네릭 트레이트를 구현할 때는 impl 키워드 다음에 for T와 같이 구체적인 타입을 명시합니다. 예를 들어, Display 트레이트를 정수와 문자열에 대해 구현하는 코드는 다음과 같습니다.

impl Display<i32> for MyType {
    fn display(&self, item: i32) {
        println!("Displaying integer: {}", item);
    }
}

impl Display<String> for MyType {
    fn display(&self, item: String) {
        println!("Displaying string: {}", item);
    }
}

이렇게 함으로써 같은 트레이트를 여러 타입에 대해 구현할 수 있습니다.

요약

Rust에서 제네릭 트레이트를 사용하면 여러 타입에 대해 동작하는 코드를 작성할 수 있으며, 코드의 재사용성을 높일 수 있습니다.

참고 자료

Rust에 대한 자세한 내용은 Rust 공식 웹사이트에서 확인할 수 있습니다.