재귀 함수와 메모리 사용량 간의 관계

김하밍·2023년 5월 11일
0

Java

목록 보기
11/46

(1) 실행 중인 함수의 실행 절차에 대한 정보는 함수의 실행 컨텍스트에 저장된다.
(2) 실행 컨텍스트는 함수 실행에 대한 세부정보를 담고 있는 데이터 구조이다.
(3) 제어흐름의 현재위치, 변수의 현재 값 등의 상세 내부정보가 담겨있음

--> 함수를 실행(호출)할수록 실행컨텍스트 계속 저장되어지기에 재귀의 깊이가 커지면 그만큼의 메모리를 차지하게 됨.

실행 컨텍스트란 ?

JavaScript 코드가 실행되는 환경으로 정의된다.

  • 환경이란 JavaScript 코드가 특정 시간에 액세스할 수 있는 this, 변수 , 개체 및 함수 의 값을 의미한다.

Execution context, scope chain Javascript Internals

재귀를 사용하면 코드가 짧아지고 코드 이해도가 높아지며 유지보수에도 이점이 있다. 모든 곳에서 메모리 최적화를 신경 써서 코드를 작성해야 하는 것은 아니며 우리가 필요한 것은 좋은 코드이다. 이런 이유 때문에 재귀를 사용한다.

profile
나만의 언어로 기록하며 성장하기 !

0개의 댓글