변수를 보호 할 수 있다.
즉, 클래스의 필드 멤버가 클래스의 함수에 쓰인다고 하자.
이 필드 멤버는 함수가 실행되기 전부터 초기화되고, 값이 지정된다.
그렇기 때문에, 중간에 이 값이 바뀌거나 했을경우 추적하기가 힘들어 진다.
즉, 디버깅이 복잡해 지게 된다.
어디서 이 필드멤버가 바뀌었는지 등등 고려해야될게 많아 진단 말이다.
따라서, 함수가 실행되고, 이 함수가 완전히 끝날떄까지만 지속되는 변수라면,
디버깅시, 이 함수에서 쓰이는 어던 수 (아까 예의 필드 멤버)는 함수 안에 로컬 변수로 있기 때문에, 디버깅이 매우 쉬워 진다.
이 테크닉을 클로저 라고 한다.
댓글 없음:
댓글 쓰기