[rust] 제네릭 클래스 상속

Rust는 제네릭을 통해 코드의 재사용성을 높일 수 있는 강력한 기능을 제공합니다. 제네릭 클래스 상속은 Rust에서는 trait를 통해 구현됩니다.

트레이트 (Traits)

트레이트는 Rust에서 공유할 수 있는 메서드 세트를 정의하는 방법입니다. 제네릭 클래스가 상속할 메서드들을 트레이트에 정의하고, 해당 트레이트를 구현함으로써 클래스가 해당 메서드들을 상속받을 수 있습니다.

trait Shape {
    fn area(&self) -> f64;
}

위의 예제에서 Shape 트레이트는 area 메서드를 가지고 있습니다.

제네릭 클래스 상속

제네릭 클래스는 트레이트를 구현함으로써 클래스 상속을 구현할 수 있습니다.

struct Circle {
    radius: f64,
}

impl Shape for Circle {
    fn area(&self) -> f64 {
        std::f64::consts::PI * self.radius * self.radius
    }
}

위의 예제에서 Circle 클래스는 Shape 트레이트를 구현하고 있으며, area 메서드를 재정의함으로써 Shape 트레잇을 상속받고 있습니다.

결론

Rust에서는 제네릭 클래스 상속을 트레이트를 통해 구현할 수 있습니다. 이를 통해 코드의 재사용성을 높일 수 있으며, 보다 유연한 구조를 만들 수 있습니다.

더 자세한 내용은 Rust 공식 문서를 참고하세요.