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
키워드는 현재 모듈의 부모 모듈(상위 모듈)을 가리킨다.super
는 상위 모듈에 정의돈 기능에 접근할 수 있도록 해주는 역할을 한다.라이브러리나 외부 소스를 볼 때 super키워드를 보고 현재 해당 모듈의 상위 모듈의 기능을 가져오는거구나 라고 생각하면 될 것 같다.