메소드의 재귀호출(Recursive Call), 재귀함수(Recursive Function), 재귀호출 (Recursive Call)
CODEDRAGON ㆍDevelopment/C, C++
반응형
메소드의 재귀호출(Recursive Call)
- 재귀 호출은 자기 자신을 호출하는 행위를 의미합니다.
- C, Java, Kotlin에서는 재귀적 메소드 호출을 허용합니다.
- 함수의 복사본을 하나 더 생성해서 실행되는 것이 재귀입니다.
- 종료조건이 만족되지 않으면 무한 루프에 빠질 수 있으며 종료조건은 메소드의 실행과 재귀 메소드가 실행되는 사이에 존재해야 됩니다.
- 문제를 해결하는 과정에서 해결하려는 문제와 크기만 다르고, 자신의 해결 방법을 동일하게 적용하여 해결할 수 있는지 파악하여, 주어진 문제를 푸는 방법입니다.
- 자료구조, 알고리즘을 이해하기 위해서 꼭 필요한 부분입니다.
재귀 함수(Recursive Function)
· ≒ 자기 호출 ≒ 되부름
- 함수 내(함수 몸체)에서 자기 자신을 호출(Recursive Call)하는 함수
- 특정 조건을 만족할 때 까지 함수호출이 반복되는 것
- 수학에서 점화식과 유사한 코드
- 반드시 종결 조건 및 종결 조건이 만족할 때의 반환 값이 있어야 합니다.
- 많은 알고리즘에서 사용됩니다.
재귀함수 f()를 사용해 X 형식의 문제 해결 단계
f(X)
단계 | 설명 |
1 | X 형식의 원래 문제를 한 개 이상의 더 작은 X 형식의 문제로 쪼개기 |
2 | f() 내에서 더 작은 각 문제별로 f()를 호출 |
3 | f() 내에서 단계2의 결과를 합쳐 원래 문제를 해결 |
재귀호출 (Recursive Call)
특정 조건이 완료될 때까지 계속해서 지정된 함수를 호출하는 코드입니다
'Development > C, C++' 카테고리의 다른 글
매크로 상수 - 매크로 상수의 정의, 매크로 상수의 해제, 매크로 상수의 장점 (0) | 2021.12.01 |
---|---|
형변환으로 인한 데이터 손실, 강제 형변환 (0) | 2021.11.26 |
Ex-포인터 변수에 2차원 배열의 시작 주소 저장 (0) | 2021.11.12 |
클래스 정의, 클래스 선언 형식 (0) | 2021.11.11 |
다이아몬드, 별 트리, 모래시계, 나비 (0) | 2021.05.16 |