rust super 키워드

wangki·2025년 2월 24일
0

Rust

목록 보기
22/54

개요

super키워드가 정확히 어떤 역할을 하는지 알아보겠다.

과정

pub mod test1 {
    pub fn test1_func() {
        println!("hi")
    }
    pub mod test2 {
        pub fn test2_func() {
            super::test1_func();
        }
    }
}

super 키워드는 상위 모듈을 가르킨다. 위 코드에서 test2 모듈은 test1모듈 내부에 있다. 즉, test2의 상위 모듈의 기능을 사용하고자 하면 super키워드를 통해서 손쉽게 접근할 수 있다.

super 키워드의 역할

  • super 키워드는 현재 모듈의 부모 모듈(상위 모듈)을 가리킨다.
  • 위 코드에서 test2 모듈 내에서 super::test1_func()를 호출함으로써, test2 모듈은 test1 모듈에 정의된 test1_func()를 사용할 수 있다.
    따라서, super는 상위 모듈에 정의돈 기능에 접근할 수 있도록 해주는 역할을 한다.

결론

라이브러리나 외부 소스를 볼 때 super키워드를 보고 현재 해당 모듈의 상위 모듈의 기능을 가져오는거구나 라고 생각하면 될 것 같다.

0개의 댓글