재귀는 함수가 자신을 호출해 더 작은 하위 문제를 푸는 방식입니다. 더 호출하지 않을 기본 경우와 다시 호출할 재귀 경우를 구분합니다. 종료 조건만 적어도 입력이 거기에 도달하지 않으면 끝나지 않을 수 있어 입력 범위와 매번의 변화를 함께 봅니다. 근거: MDN Recursion, 2026-11-04.

종료 조건과 그 조건에 가까워지는 변화가 함께 필요합니다

재귀는 함수가 자신을 호출해 더 작은 하위 문제를 푸는 방식입니다. 더 호출하지 않을 기본 경우와 다시 호출할 재귀 경우를 구분합니다. 종료 조건만 적어도 입력이 거기에 도달하지 않으면 끝나지 않을 수 있어 입력 범위와 매번의 변화를 함께 봅니다. 근거: MDN Recursion, 2026-11-04.

근거: MDN Recursion · 2026-11-04 확인

4의 팩토리얼을 실제 작은 예제로 확인했습니다

작성자 함수 factorial(n){if(n===0)return 1;return n*factorial(n-1)}는 비음수 정수 입력만 전제한 학습 예입니다.4→3→2→1→0으로 내려가고 반환을 곱해 결과를 만듭니다. Node.js v24.20.0에서 factorial(4)가24임을 확인해 execution-examples.json에 남겼습니다. 이 코드는 입력 검사와 큰 수 처리가 없는 최소 예이므로 임의 문자열·음수·소수에 바로 사용하도록 권하지 않습니다.

근거: MDN Recursion · 2026-11-04 확인

정의한 범위 밖 입력은 호출 전에 차단하거나 규칙을 정합니다

음수에서 계속1씩 빼면0에 도달하지 않을 수 있고 큰 입력은 깊은 호출과 수 표현 한계가 문제일 수 있습니다. 종료 조건을 늘리면 끝난다고만 생각하지 말고 그 결과가 원래 수학·업무 요구와 맞는지 확인합니다. 실제 환경별 최대 깊이나 정확한 한계를 이 글에서 측정하지 않았으므로 기억 속 숫자를 제시하지 않습니다.

근거: MDN Recursion · 2026-11-04 확인

오류는 깊이·변화·반환 순서로 추적합니다

작은 유효 입력을 골라 각 호출의 값과 반환을 적고 언제 기본 경우가 실행되는지 봅니다. 출력 로그를 무한히 남기면 자원을 소모할 수 있으므로 승인된 로컬 예제에서 호출 수를 제한합니다. 종료되지 않으면 실행을 중단하고 입력 변화와 기본 경우를 먼저 확인합니다. 종료는 되지만 오답이면 반환식과 기준값을 대조합니다.

반복 방식과 비교할 때는 같은 문제와 조건을 씁니다

재귀가 짧아 보여도 항상 더 빠르거나 메모리를 덜 쓰는 것은 아닙니다. 정확성과 필요한 자원, 이해하기 쉬운 구조를 요구에 맞춰 비교합니다. 성공 보고에는 실제 확인한 입력과 출력만 적으며 이 글의4에 대한 관찰을 모든 입력·브라우저·서버 환경 검증으로 확대하지 않습니다.

원문으로 이어 읽기

확인일: 2026-11-04. 정의와 적용 범위, 발행일과 판본을 함께 살펴봅니다. 원문이 존재한다는 사실만으로 개별 주장의 정확성과 재사용 권리가 자동 보장되지는 않습니다.

옆 문서로 이어가기