본문 바로가기
Programming/JavaScript

동기(Synchronous) vs 비동기(Asynchronous)의 의미 차이

by RuntimeSimple 2025. 2. 18.

📌 동기(Synchronous) vs 비동기(Asynchronous)의 의미 차이

1️⃣ 일반적인 영어에서의 뜻

  • Synchronous → 동시에 일어나는
  • Asynchronous → 동시에 일어나지 않는

✅ 예를 들어, 두 사람이 똑같이 10시에 줌 미팅을 시작하면
➡️ Synchronous Meeting(동기적 회의) 
✅ 반대로, 한 명은 10시에, 한 명은 11시에 강의를 듣는다면
➡️ Asynchronous Learning(비동기 학습)


2️⃣ 프로그래밍에서의 "동기(Synchronous)" 의미

프로그래밍에서는 "동시에 실행되는가?"가 아니라 "작업이 끝날 때까지 기다리는가?"가 중요한 개념이에요.

✔ 동기(Synchronous):
💡 "한 작업이 끝날 때까지 다음 작업을 기다리는 방식"

console.log("A");
console.log("B");
console.log("C");

✅ 실행 결과:

A  
B  
C

 

➡️ 한 줄씩 순서대로 실행돼요.
➡️ 앞의 코드가 끝나야 다음 코드가 실행됨(기다림).


✔ 비동기(Asynchronous):
💡 "작업이 끝날 때까지 기다리지 않고, 다음 작업을 먼저 실행하는 방식"

console.log("A");
setTimeout(() => console.log("B"), 2000);  // 2초 후 실행
console.log("C");

✅ 실행 결과:

A  
C  
(2초 후) B

➡️ setTimeout은 비동기라서, 2초 동안 기다리지 않고 다음 코드(console.log("C"))를 먼저 실행함.


📌 정리!

✅ 영어에서 Synchronous는 "동시에 일어나는"이라는 뜻이에요.
✅ 하지만 프로그래밍에서는 "한 작업이 끝나야 다음 작업이 실행되는 방식"을 의미해요.
✅ 반대로 비동기(Asynchronous)는 "기다리지 않고, 나중에 실행되는 방식"이에요.