⏰ Syn: 함께, chrono: 시간
Synchronous: 요청한 작업에 대해 완료 여부를 따져 순차대로 처리
Asynchronous: 요청한 작업에 대해 완료 여부를 따지지 않고 자신의 다음 작업을 그대로 수행
Sync( 동기 )요청과 결과가 동시에 일어나는 방식으로 요청을 보낸 후 응답을 받아야 다음 동작이 진행된다. 설계가 간단하고 직관적이나 요청에 대한 결과가 반환되기 전까지 대기해야 한다.
Async( 비동기 )요청과 결과가 동시에 일어나지 않는 방식으로 사용자가 서버로 요청을 보냈을 경우 요청에 대한 응답을 기다리지 않고, 다른 것을 수행할 수 있으며 서버로 다른 요청을 보낼 수도 있다. 요청에 대한 결과가 반환되기 전에 다른 작업을 수행할 수 있어서, 즉 멀티 작업을 진행할 수 있어서 자원을 효율적으로 사용하고 이는 전반적인 시스템 향상에 도움이 된다. 하지만 동기 방식보다 설계가 복잡하고 논증적이다.
❓ 작업 순서 처리 차이 !
동기 작업은 요청한 작업에 대해 순서가 지켜지는 것을 말하는 것이고, 비동기 작업은 순서가 지켜지지 않을 수 있다는 것을 말한다.

Blocking / Non-Blocking📌
동기 / 비동기: 요청한 작업에 대해 완료 여부를 신경써서 작업을 순차적으로 수행할지 아닌지에 대한 관점
블로킹 / 논블로킹: 현재 작업이 block( 차단, 대기 )되느냐에 따라 다른 작업을 수행할 지에 대한 관점

서로 다른 차원에서 작업의 수행 방식을 설명하는 개념으로 의미 차이는 명확하지만,
비동기 함수이면서 동시에 논블로킹 함수일 수 있다 !