📌 동기(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)는 "기다리지 않고, 나중에 실행되는 방식"이에요.
'Programming > JavaScript' 카테고리의 다른 글
Three.js란? (2) | 2025.02.10 |
---|---|
자바스크립트의 Rest Parameter (나머지 매개변수) (0) | 2025.01.07 |
함수로 알아보는 자바스크립트: 일급 객체와 즉시 호출 함수(IIFE) (1) | 2025.01.07 |
자바스크립트 함수 선언과 함수 표현식 (3) | 2025.01.07 |
자바스크립트의 변수와 스코프 (0) | 2025.01.07 |