콜백 함수가뭐야??
좋아요 주원님 🙌
"콜백 함수(callback function)"는 프로그래밍에서 자주 쓰이는 중요한 개념인데, 쉽게 설명해볼게요!
🔁 콜백 함수란?
"나중에 호출할 목적으로 전달되는 함수"를 콜백 함수라고 해요.
즉,
어떤 함수 A가,
또 다른 함수 B를 인자로 받아서,
필요한 시점에 그 함수 B를 실행(호출)하는 구조예요.
📦 쉽게 말하면...
"야! 나 일 끝나면 이거 해줘!"
👉 이렇게 작업이 끝난 뒤에 실행될 함수를 미리 넘겨주는 것이 콜백 함수예요.
💡 비유
a: 밥 다 되면 불러줘~ (→ 콜백 함수 등록)
b: 밥 다 됐어요~! (→ 콜백 함수 실행)
✅ 자바스크립트 예제
function doHomework(subject, callback) { console.log(`📘 I’m studying ${subject}`); callback(); // 작업이 끝난 뒤 콜백 함수 실행 } function finished() { console.log("✅ Finished my homework!"); } doHomework("math", finished);
결과:
📘 I’m studying math
✅ Finished my homework!
정확해요 주원님! 두 개 다 완전 핵심을 찔렀어요 👏
조금 더 자연스럽게 정리해서 말씀드릴게요:
✅ 1. 콜백 함수는 미리 등록해놔야 해?
👉 맞아요! 콜백 함수는 “미리 넘겨줘야” 실행됩니다.
예를 들어:
function doSomething(callback) { console.log("🛠 작업 중..."); callback(); // 나중에 실행 } doSomething(function() { console.log("✅ 작업 끝났어요!"); });
📌 콜백 함수는 '이따가 쓸게~' 하고 미리 전달해주는 함수예요.
✅ 2. AJAX에서 콜백 함수의 역할은?
👉 딱 맞아요! AJAX는 비동기 통신이니까,
서버로부터 응답이 언제 올지 모름 → 그래서 응답 왔을 때 실행할 함수를 미리 등록해둬요.
예제 (jQuery 기준):
$.get("https://api.example.com/user", function(response) { console.log("✅ 응답 도착:", response); // 이게 콜백 함수! });
📌 function(response) { ... } 이 부분이 콜백 함수
→ 서버가 응답을 주면 자동으로 실행됨
💡 요약 정리
질문 답변
콜백 함수는 미리 등록해야 해? ✅ 예! 함수에 인자로 넘겨서 미리 준비해 둬야 실행 가능
AJAX에서 콜백은 왜 써? ✅ 서버 응답이 왔을 때 자동으로 실행되게 하려고 사용함 (비동기 처리 대응)
필요하시면 fetch, axios 등 다른 방식에서도 콜백이나 async/await 흐름도 설명해드릴게요!
계속 궁금한 거 이어서 물어봐도 돼요 😄