재귀(Recursion) - 원래의 자리로 되돌아가거나 되돌아옴 - 문제를 동일한 구조의 더 작은 문제로 나누고, 작은 문제를 해결함으로써 전체 문제를 해결하는 방법 - 알고리즘 문제의 많은 부분을 차지하며, 재귀를 사용하면 코드가 간결하고 이해하기 쉬워짐 재귀 함수 - 자기 자신을 호출하는 함수 - 문제를 점점 작은 단위로 쪼갤 수 있어야 하고, 재귀 호출이 종료되는 시점이 존재해야 사용 가능 재귀 함수를 사용하기 적합할 때 - 중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우 - 변수 사용을 줄여 프로그램 오류가 발생할 수 있는 가능성을 줄이는 경우 재귀함수의 장점 - 불필요한 반복문을 사용하지 않아 코드가 간결해지고 수정이 쉬워짐 - 반복문에 비해 많은 수의 변수를 사용할 필요 없음..