콜백 함수(callback function)는 어떤 함수에 인자로 전달되어, 그 함수 내부에서 호출되는 함수입니다. 콜백 함수는 보통 비동기적 처리, 이벤트 처리, 또는 다른 함수의 동작을 사용자 정의하는 데 사용됩니다. 즉, 콜백 함수는 특정 작업이 완료됐을 때 실행되거나, 특정 이벤트(예: 사용자 입력, 타이머 만료 등)가 발생했을 때 호출됩니다. ### 콜백 함수의 특징과 사용 사례 1. **사용자 정의 동작**: 콜백 함수를 사용하면 라이브러리나 API 사용자가 특정 이벤트에 대한 반응을 정의할 수 있습니다. 2. **비동기 처리**: 네트워크 요청, 파일 I/O 작업 등 비동기적으로 처리되는 작업의 완료 시 콜백 함수를 호출하여 결과를 처리할 수 있습니다. 3. **이벤트 리스너**: 사용자 인터페이스의 버튼 클릭, 키보드 입력 등의 이벤트에 대해 콜백 함수를 할당하여 해당 이벤트가 발생했을 때 실행되도록 할 수 있습니다. 4. **고차 함수(Higher-order function)의 인자**: 다른 함수의 인자로 콜백 함수를 전달하여, 그 함수 내에서 특정 조건이나 상황에 따라 콜백 함수를 호출합니다. ### 예시: 아두이노에서 콜백 함수 사용 ```cpp void myCallback() { // 콜백 함수에서 수행할 작업 } void setup() { // 콜백 함수를 설정 attachInterrupt(digitalPinToInterrupt(pin), myCallback, CHANGE); } void loop() { // 메인 루프 } ``` 이 예제에서, `attachInterrupt` 함수는 아두이노 핀의 상태 변화에 대한 인터럽트를 설정하는 데 사용되며, `myCallback` 함수는 해당 핀의 상태가 변했을 때 호출됩니다. 콜백 함수는 프로그램의 흐름을 더 유연하게 만들고, 특정 작업에 대한 사용자 정의 반응을 가능하게 하는 중요한 ...