✅ 목표 (Goal)

콜백함수에 대한 비유를 찾아보면 이런것들이 있다.

✅ 엄마 비유

이발소, 비서 모두 마찬가지지만, 개인적으로 엄마 비유를 들어보자.

이발사보다는 엄마가 좋아서?

상훈이는 엄마에게 깨워달라고 부탁하려고 했는데, 엄마는 너무 바빴다. (식탁 차리기, 설겆이 등등)

엄마는 금방 끝난다고 말했지만, 끝나는데 얼마나 걸릴지 모르겠다.

상훈이는 자기방에 들어가서 자고 싶었기 때문에 기다릴수가 없었다.

그래서 상훈이는 엄마에게 일이 끝나면 알려달라고 하고, 자기 방으로 돌아왔다.

이제 상훈이는 엄마옆에서 멍하니 기다리는 것보다 자기가 원하는 일(게임, 잠 등)을 할수 있다.

엄마는 한시간후에 일을 끝내고, 나를 깨워줄것이다.

✅ 엄마에게 부탁하는 코딩

// A simple C program to demonstrate callback
#include <stdio.h>

//void wake_me_up() {
void son() {
    printf("Let's go meet a friend !\\r\\n");
}

// callback function
void mom(void (*fp)()) {
    (*fp)(); // callback to wake_me_up
}

int main() {
    void (*fp)() = &son;

    // calling function mom and // 함수 mom를 호출하고
    // passing address of the function wake_me_up as argument
    // 함수 wake_me_up의 주소를 인수로 전달한다.
    mom(fp);

    return 0;
}