본문/내용
1. JavaScript의 Closure가 무엇인지 설명해주세요.
자바스크립트의 클로함수와 함수가 선언된 렉시컬 환경의 조합으로, 내부 함수가 외부 함수의 변수에 접근할 수 있게 하는 기능입니다. 예를 들어, 외부 함수에서 카운터 변수를 선언하고 내부 함수에서 이 변수에 접근하거나 증가시키는 패턴이 클로저입니다. 클로데이터 은닉 및 정보 은폐에 주로 활용되며, 여러 장점이 있습니다. 실무에서는 사용자별 세션 정보를 클로저로 캡슐화하거나, 콜백이나 비동기 처리에서 특정 변수 상태를 유지하는 데 사용되며, 실제로 80% 이상의 자바스크립트 프로젝트에서 상태 유지 및 캡슐화 목적으로 활용됩니다. 또한, 클로저를 활용해서 메모리 누수를 예방하거나, 함수형 프로그래밍 패턴을 구현하는 사례도 흔합니다. 특히, 대규모 프론트엔드 프로젝트에서는 클로저를 적절히 활용함으로써 코드 재사용성과 유지보수성을 높여 개발효율을 30% 이상 향상시키는 결과를 얻기도 합니다. 따라서 클로자바스크립트의 핵심 개념으로, 효율적이고 안전한 코드 작성을 위한 필수 기술입니다.
2. React에서 상태 관리를 위해 사용하는 Hook에는 어떤 것들이 있으며 각각의 역할은 …