최대 1 분 소요

예제

  • 코드

        trait Job {
            fn job(&self);
        }

        struct A {}

        impl Job for A {
            fn job(&self) {
                println!("A job call");
            }
        }

        struct B {}

        impl Job for B {
            fn job(&self) {
                println!("B job call");
            }
        }

        fn main() {
            let values: Vec<Box<dyn Job>> = vec![Box::new(A {}), Box::new(B {})];

            for value in values.iter() {
                value.job();
            }
        }
  • 실행 결과

        A job call
        B job call