순환을 알아 보기에 앞서서 순환과 반복은 다르다는 것을 알아두자! 순환 : 알고리즘이나 함수가 수행 도중에 자기 자신을 다시 호출하여 문제를 해결하는 기법 반복 : 말그대로 반복하여 문제를 해결하는 기법 순환 순환(recursion)이란 어떤 알고리즘이나 함수가 자기 자신을 호출하여 문제를 해결하는 프로그래밍 기법이다. 순환은 많은 문제들을 해결하는데 독특한 개념적인 프레임 워크를 제공한다. 본질적으로 순환적인 문제나 그러한 자료구조를 다루는 프로그램에 적합하다. 팩토리얼 문제가 가장 잘 알려진 순환 문제이다. 다음 코드를 살펴보자. int factorial(int n) { if(n == 1) return 1; else return (n * factorial(n - 1)); } 위 함수를 살펴보면 팩토리..