재귀: 자체 내에서 함수를 반복적으로 호출하는 프로세스 함수 안에서 자기 자신을 호출하기 때문에 재귀 함수이다. - 재귀 함수는 재귀 단계와 베이스 케이스로 구성된다. 1) 재귀 단계 - 예시의 else문의 코드는 함수를 호출하기 때문에 재귀 단계이다. 2) 베이스 케이스 - if문에서 num이 1인 경우 factorial()을 호출하지 않는다. (무한 재귀가 일어나지 않는다.) 이렇게 베이스 케이스가 있으면 무한 재귀를 방지하는데 도움이 되고 모든 재귀 함수에서 베이스 케이스는 정의되어야 한다. 베이스 케이스 (if num==1)이면 재귀가 중단되고 최종 값이 출력된다.