본문/내용
1. JavaScript의 비동기 처리 방식인 콜백, 프로미스, async/await의 차이점과 각각의 장단점에 대해 설명하세요.
콜백은 JavaScript에서 가장 기본적인 비동기 처리 방식으로, 함수 호출 시 인자로 전달되어 비동기 작업이 끝난 후 실행됩니다. 장점은 간단하고 직관적이지만, 콜백 지옥(Callback Hell) 현상이 발생해 가독성과 유지보수성이 낮아지고 에러 핸들링이 어려워지는 단점이 있습니다. 프로미스는 콜백을 체인 형태로 연결할 수 있어 가독성을 높이고, 비동기 연산의 성공과 실패를 명확히 구분할 수 있습니다. 장점은 코드의 구조가 명확하고, 에러 처리가 용이하며, 여러 비동기 작업을 병렬 또는 순차적으로 쉽게 제어할 수 있다는 점입니다. 그러나 프로미스는 약간의 오버헤드가 있으며, 복잡한 체인 구조를 만들 때 가독성이 떨어질 수 있습니다. async/await는 프로미스를 기반으로 하며, 동기 코드처럼 읽히는 문법을 제공합니다. 장점은 비동기 코드를 동기 코드처럼 직관적으로 작성할 수 있어 가독성과 유지보수성이 크게 향상됩니다. 그러나 async/await를 사용할 때는 올바른 에러 핸들링과 병렬 처리 구성이 중요하며, 적절하지 않은 사용은 성…