동기와 비동기 IO 동기(Synchronous) 요청을 보내면, 요청을 처리할 떄까지 대기한다. 즉, sender가 데이터를 보내는 시간과 receiver가 데이터를 수신하는 시간이 같아야 한다. 이 경우 모든 처리가 끝날 때까지 sender와 receiver가 기다려야 하기 때문에 비효율적이다. 비동기(Asynchronous) 요청을 처리할 때까지 기다리지 않고, 바로 다음 작업으로 넘어간다. sender가 데이터를 보내는 시간과 receiver가 데이터를 수신하는 시간이 같지 않다. sender가 처리를 요청하기 위해 함수를 호출했을 때, 호출된 함수는 바로 응답한다. 이떄의 응답은 결과에 대한 답이 아니라 확인을 했다는 결과를 리턴하는 것이다. 그 다음, 호출된 함수가 작업을 끝내면 callback..