피드로 돌아가기
Closure
Dev.toDev.to
Frontend

Closure를 통한 데이터 캡슐화 및 상태 유지 설계

Closure

mohandass2026년 5월 6일1beginner

Context

함수 실행 종료 후 내부 변수가 소멸하는 기본 메커니즘으로 인한 상태 유지의 어려움 발생. 전역 변수 사용 시 데이터 오염 및 보안 취약점이 발생하는 한계 존재.

Technical Solution

  • Inner Function이 Outer Function의 Lexical Environment를 참조하는 Closure 구조 설계
  • Outer Function의 로컬 변수를 Private 상태로 유지하여 외부 직접 접근을 차단한 캡슐화 구현
  • 객체 형태의 인터페이스(deposit, withdraw)를 반환하여 특정 변수에 대한 제어된 접근 권한 부여
  • 함수 실행 완료 후에도 메모리 상에 유지되는 Lexical Scope를 활용한 상태 지속성 확보

- 전역 변수 사용을 최소화하고 상태를 격리해야 하는 경우 Closure 검토 - Private 변수 구현이 필요한 모듈 설계 시 Lexical Scope 활용 여부 확인 - Closure로 인한 메모리 누수 가능성을 고려하여 참조 해제 시점 설계

원문 읽기