📌 호출자( Caller )

함수를 호출하는 대상을 말한다.

📌 피호출자( Callee )

함수에게 호출당하는 대상을 말한다.

 

모든 호출자와 피호출자는 호출자이면서 피호출자일 수 있다.

또한 호출자는 호출자와 피호출자로 묶인 관계까지만 생각하고, 피호출자가 호출자인지는 생각하지 않는다.

 

호출자는 피호출자를 호출하면, 결과값을 얻을 수 있다.

결과값은 피호출자 함수의 연산 결과이거나 피호출자 함수의 연산이 잘 수행되었는지 확인하는 결과일 수 있다.

 

반면, void는 반환받는 결과값이 없는 반환형이다.

호출자가 void를 반환형으로 하는 피호출자를 호출하는 것은 피호출자에서 제어의 흐름이 가고 코드 연산이 이루어 진 후

흐름이 되돌아오는 것에만 관심이 있다고 생각할 수 있다. 즉, 피호출자 함수가 잘 작동 했는지 못했는지, 아니면 연산 결과를 회수 받기 위한 의도가 전혀 없다는 것을 말한다. 호출에 의해 흐름이 넘어갔다 돌아왔다라는 것만 생각하겠다는 의미

 

호출, 피호출 관계에 있어서 한번 더 생각해야하는 점은 둘의 관계가 모듈이 분리가 되어있는지 생각해봐야하고,

경우에 따라서 호출, 피호출이 쓰레드가 바뀌어 버릴수도 있는지도 생각을 해야한다. 

 

+ Recent posts