상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
분유 섭취와 아기 정서 발달
영화 세븐 사무라이 (Seven Samurai, 1954)의 결말은 어떻게 되나요?
겨울철 손발의 차가움을 방지하는 방법은?
겨울철 실내 운동의 장점은 무엇인가요?
겨울철 대사 증진을 위한 음식은?
독감에 잘 걸리는 사람의 공통점 4가지
바나나를 활용한 건강한 스낵 아이디어는?
"왜 오리와 함께 산책해야 할까? 8가지 이유"
"오리의 교육 경험: 6가지 가치 있는 팁"
혈액순환을 향상시키기 위한 9가지 운동 계획
혈액순환을 위한 10가지 필수 운동
혈액순환을 돕는 10가지 심리요법
Previous
Next
수정하기 - 자바스크립트에서 함수의 클로저를 활용한 예제는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서 클로저(Closure)는 함수와 그 함수가 선언된 렉시컬 환경(Lexical Environment)의 조합을 의미합니다. 클로저는 함수가 외부 함수의 변수에 접근할 수 있도록 해주며, 이는 특히 데이터 은닉, 상태 유지, 그리고 콜백 함수와 같은 다양한 상황에서 유용하게 사용됩니다. 클로저의 기본 개념 클로저는 다음과 같은 상황에서 발생합니다: 1. 함수가 다른 함수 내에서 정의될 때. 2. 내부 함수가 외부 함수의 변수에 접근할 수 있을 때. 이러한 특성 덕분에 클로저는 자바스크립트에서 매우 강력한 도구가 됩니다. 클로저의 예제 아래는 클로저를 활용한 간단한 예제입니다. 이 예제에서는 카운터를 생성하는 함수를 만들어 보겠습니다. ```javascript function createCounter() { let count = 0; // 외부 함수의 변수 return function() { // 내부 함수 count += 1; // 외부 변수에 접근 return count; // 현재 카운트 반환 }; } const counter1 = createCounter(); // 첫 번째 카운터 생성 const counter2 = createCounter(); // 두 번째 카운터 생성 console.log(counter1()); // 1 console.log(counter1()); // 2 console.log(counter1()); // 3 console.log(counter2()); // 1 console.log(counter2()); // 2 ``` 코드 설명 1. `createCounter` 함수 : 이 함수는 내부에 `count`라는 변수를 선언하고, 이를 증가시키는 내부 함수를 반환합니다. `count`는 `createCounter` 함수의 스코프에 속하므로, 외부에서 직접 접근할 수 없습니다. 2. `counter1`과 `counter2` : `createCounter`를 호출하여 두 개의 카운터를 생성합니다. 각각의 카운터는 독립적인 `count` 변수를 가지고 있습니다. 3. 카운터 사용 : `counter1()`을 호출할 때마다 `count` 변수가 증가하고, 그 값을 반환합니다. `counter2()`도 마찬가지로 독립적으로 동작합니다. 두 카운터는 서로의 상태에 영향을 주지 않습니다. 클로저의 활용 클로저는 다양한 상황에서 유용하게 사용될 수 있습니다: 1. 데이터 은닉 : 외부에서 접근할 수 없는 변수를 만들 수 있어, 객체의 상태를 보호할 수 있습니다. 2. 상태 유지 : 클로저를 사용하여 함수가 호출될 때마다 상태를 유지할 수 있습니다. 위의 카운터 예제처럼, 각 카운터는 자신의 상태를 독립적으로 유지합니다. 3. 콜백 함수 : 비동기 프로그래밍에서 클로저를 사용하여 특정 상태를 유지하면서 콜백 함수를 작성할 수 있습니다. 클로저의 주의사항 클로저를 사용할 때 주의해야 할 점은 메모리 누수입니다. 클로저가 외부 함수의 변수를 참조하고 있기 때문에, 외부 함수가 종료된 후에도 해당 변수가 메모리에 남아있게 됩니다. 이로 인해 불필요한 메모리 사용이 발생할 수 있습니다. 따라서 클로저를 사용할 때는 필요하지 않은 경우에는 변수를 정리하는 것이 좋습니다. 결론 클로저는 자바스크립트에서 매우 중요한 개념으로, 함수형 프로그래밍의 핵심적인 요소 중 하나입니다. 클로저를 이해하고 활용함으로써, 더 강력하고 유연한 코드를 작성할 수 있습니다. 위의 예제와 같이 클로저를 활용하면, 데이터 은닉 및 상태 유지를 통해 코드의 품질을 높일 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기