어떤 문제를 해결할 때, 동일한 구조의 더 작은 문제를 해결함으로써 주어진 문제를 해결하는 방법
2️⃣ 재귀 호출
recursive call
함수 내부에서 함수가 자기 자신을 또다시 호출하는 행위를 의미
2️⃣ 코드 구현
functionarrSum(arr){// Base Case// 문제를 더 이상 쪼갤 수 없는 경우(재귀의 기초)if(arr.length ===0)return0// Recursive Case// 그렇지 않은 경우let head = arr[0]let tail = arr.slice(1)return head +arrSum(tail)}