재귀 함수
어떤 함수 안에서 자기 자신을 호출하는 방식을 재귀호출이라고 함. 이처럼 재귀호출을 하여 작업을 수행하는 방식의 함수를 재귀함수라 함. 반복문을 재귀함수로 구현 할 수 있고 반대로 재귀함수도 반복문으로 구현 할 수 있음.
아래는 파이썬 코드 작성 예시이다.
def hello():
print('Hello, world!')
hello()
hello()
본 소스코드와 같이 작성한다면 'Hello, world!'를 계속 출력하다 RecursionError가 발생한다. 파이썬은 재귀 깊이(maximum recursion depth)가 최대 1,000으로 정해져있다.
재귀호출을 사용하려면 반드시 종료 조건을 만들어야 한다.
def hello(count):
if count == 0:
return
print('Hello, world!', count)
count = count - 1
hello(count)
hello(10)
참고자료
https://dojang.io/mod/page/view.php?id=2352
https://gomguard.tistory.com/111