[javascript] 클로저를 사용한 자주 사용되는 로직 추출

개발자들은 종종 비슷한 로직을 여러 곳에 반복해서 사용해야 할 때가 있습니다. 이런 상황에서 클로저를 사용하면 중복 코드를 효과적으로 제거할 수 있습니다. 클로저는 함수와 그 함수가 선언될 때의 렉시컬 환경(Lexical Environment)을 함께 기억하는 함수입니다. 이 기능을 활용하여 자주 사용되는 로직을 추출하여 재사용 가능한 모듈로 만들 수 있습니다.

클로저 사용 예시

아래는 클로저를 사용하여 자주 사용되는 로직을 한 곳에 모아둔 간단한 예시입니다.

function createCounter() {
  let count = 0;
  
  return function() {
    count++;
    console.log(count);
  };
}

const counter1 = createCounter();
const counter2 = createCounter();

counter1(); // 1
counter1(); // 2

counter2(); // 1

위 예시에서 createCounter 함수는 클로저를 사용하여 count 변수를 기억하고 있는 내부 함수를 반환합니다. 각각의 counter1, counter2는 독립된 렉시컬 환경을 가지고 있기 때문에 서로 독립적으로 count 변수를 유지하면서 동작합니다.

이런 식으로 클로저를 사용하면 같은 로직을 반복해서 작성하지 않고도 중복을 효과적으로 제거할 수 있습니다.

클로저의 장단점

장점

단점

클로저를 사용할 때는 이러한 장단점을 고려하여 신중하게 사용해야 합니다.

클로저를 효과적으로 사용하면 코드의 재사용성을 높이고 중복을 줄여 유지 보수가 용이한 코드를 작성할 수 있습니다. JavaScript 뿐만 아니라 다른 프로그래밍 언어에서도 클로저를 활용하여 코드를 개선할 수 있습니다.


참고 자료:

이상입니다. 별도의 문의 사항이 있으시면 언제든지 질문해 주세요.