채린씨의 티스토리
22. 재귀 함수 본문
* 재귀 함수
- 함수 스스로 자신을 참조해 호출하면서 동일한 코드가 계속적으로 수행되는 함수 호출 방법 (반복문으로 변환 가능)
- 재귀 함수는 특정 조건이 됐을 때 자신을 그만 호출하도록 제한하는 exit code가 필요
- 컴퓨터는 재귀 함수가 호출될 때마다 stack에 차례로 쌓아가며 기록, exit code를 만나서 함수가 실행될 때는 stack에서 하나씩 꺼내가며 실행
- 만약 exit code가 없으면? 계속 반복해서 함수를 호출하다가 stack overflow 발생!
- num + (num - 1) + (num - 2) + ... + 0의 값을 출력하는 재귀 함수
- 재귀 함수의 대표! Factorial!
- 내가 머리속으로 재귀 함수를 이해하는 방법.. 재귀 함수를 만나면 그게 띠용 하고 확대되어서 그 안에 재귀 함수가 또 있고.. 또 있고.. 이렇게 생각하면 그나마 이해가 된다.. 위에 있는 그림을 가로로 펼쳐놓은 것뿐이긴 한데 여튼 난 이렇게 이해한다.. 뭔 소리야..
- for문이나 while문은 눈감고도 칠 수 있는데, 재귀 함수는 정말 손에 안 익는다. 많이 연습하자!
'자료구조, 알고리즘 > JavaScript 기초 문법' 카테고리의 다른 글
24. 연습문제 (0) | 2022.03.06 |
---|---|
23. 콜백 함수 (2) | 2022.03.06 |
21. 함수 (0) | 2022.03.05 |
20. 반복문 연습문제 (0) | 2022.03.05 |
19. 반복문 제어 (0) | 2022.03.05 |
Comments