Callback Function (콜백 함수)

2025. 5. 21. 20:25·Software Engineering/Software Development Principles

프로그래밍에서 CallBack(콜백), 또는 Callback Function)은 다른 코드의 매개변수로서 전달되어 나중에 호출을 할 수 있는 함수를 의미합니다. 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라서 즉시 실행항 수도 있고, 아니면 나중에 실행 할 수도 있습니다. 일반적으로 콜백을 전달 즉, 함수를 매개변수로 전달할 때는 함수의 포인터형 이나 람다함수를 사용하기도 합니다. 


예시로 


함수 포인터를 이용한 콜백

#include <iostream>
using namespace std;

// 콜백 함수: 파일 열기 완료 후 실행할 함수
void OnFileOpened()
{
	cout << "[콜백] 파일 열기 완료 후 처리 중.." << endl;
}

// 파일을 여는 함수 (콜백 함수 포인터 전달)
void FileOpen(void (*callback)())
{
cout << "[FileOpen] 파일을 여는 중입니다..." << endl;

// 파일 열기 시뮬레이션
cout << "[fileOpen] 파일 열기 완료!" << endl;

// 콜백 함수 호출
callback();

}

int main()
{
	FileOpen(OnFileOpened);
}

위의 예시 코드 구문 처럼 콜백함수는 함수를 매개변수로 전달받아 `OnFileOpened` 함수가 다른 영역에서 호출이 될 수 있도록 할 수 있습니다. 짦은 코드 구문이지만 `FileOpen(OnFileOpened)' 구문은 `main` 함수의 도입부가 될 수도 있고 마지막 종료 전 부분이 될 수 있는것 처럼, 콜백 함수의 호출 시점은 프로그래머가 원하는 시점에 할 수 가 있기도 합니다. 즉, 호출 시점도 프로그래머가 원하는 곳에 할 수 있다는건 해당 기능을 사용하고 돌아오는 지점도 선택할 수 있다는 말이 되기도 합니다.

'Software Engineering > Software Development Principles' 카테고리의 다른 글

Hash Code (해시 코드)  (0) 2025.05.26
Process & Thread(프로세스 & 스레드)  (0) 2025.05.22
큐 (Queue)  (0) 2025.05.19
Virtual Memory ( 가상 메모리 )  (0) 2025.05.16
객체 지향 설계의 5가지 원칙 - S.O.L.I.D  (0) 2025.05.16
'Software Engineering/Software Development Principles' 카테고리의 다른 글
  • Hash Code (해시 코드)
  • Process & Thread(프로세스 & 스레드)
  • 큐 (Queue)
  • Virtual Memory ( 가상 메모리 )
Mr.Vulpes
Mr.Vulpes
여우비가 내리는 시간입니다.
  • Mr.Vulpes
    여우비 개발실
    Mr.Vulpes
  • 전체
    오늘
    어제
    • Browse All Categories (44) N
      • Unreal (10)
        • Core Concepts (7)
        • Unreal For C++ (3)
      • C++ Programming (4)
        • C Basic (4)
      • DirectX (5) N
        • Basic (3)
        • DirectX - Class (2) N
      • Math & Physics (3)
        • Vectors (3)
      • Software Engineering (22)
        • Software Development Princi.. (19)
        • Design Pattern (3)
  • hELLO· Designed By정상우.v4.10.3
Mr.Vulpes
Callback Function (콜백 함수)
상단으로

티스토리툴바