인프런 워밍업 클럽 스터디 3기 - DS/AL <2주 발자국>

재귀(Recursion)

어떠한 것을 정의할 때 자기 자신을 참조하는 것. 복잡한 문제를 간단한 하위 문제로 나누어 해결할 수 있다.

재귀적으로 정의한 함수를 재귀함수라고 한다.

function func(number) {
  console.log(number)
  return number+1;
}
func(number)

콜스택의 메모리 공간만큼 찬 뒤에 종료된다.

기저 조건이 없기 때문에 언제 종료될 지 모른다.

재귀 함수는 기저 조건이 반드시 있어야 한다.

function func(number) {
  if (number >= 11) {
    return ;
  }
  console.log(number)
  return number+1
}

콜스택은 함수가 호출되며 올라가는 메모리 영역이다.

콜스택은 filo 구조이다. 함수가 호출 될 때마다 콜스택에 쌓이고 함수가 종료되면 콜 스택에서 제거된다.

콜스택의 메모리가 가득 차면 더 이상 쌓일 스택이 없어서 제거된다.

댓글을 작성해보세요.

채널톡 아이콘