재귀란, 자기 자신을 호출하는 것을 뜻한다. 그 중에서도 자기 자신을 호출하는 함수를 의미한다.

따라서 재귀 함수를 작성할 때는 특정 순간에 재귀를 멈추도록 해야하는데, 이를 Base Case라고 한다.

function countDown (num) {
	if(num <= 0) {
    	console.log("끝");
	    return;
    }
  console.log(num);
  num--;
  countDown(num);
}

위의 예시에서는 입력받은 숫자에서 0보다 클 때까지 1씩 줄어들면서 출력하고, num이 0보다 크거나 작으면 재귀를 종료한다.

재귀 함수는 이렇게도 작성할 수 있다.

function sumRange(num)  {
	if(num === 1) return 1;
  	return num + sumRange(num-1);
}

재귀 함수를 작성할 때, 중요한 점은 중단점(Base Case)을 제대로 설정하는 것이다. 이 부분을 제대로 설정해 주지 않으면 무한으로 함수가 실행되어 Stack overflow가 발생한다.

0개의 댓글

관련 채용 정보