본문 바로가기

자바의 정석 정리

자바의 정석 - 6.5 재귀호출

6.5.1 재귀호출

  • 한 메서드 내부에서 자기 자신 호출
  • 값에 의한 호출(call by value)에 의해 독립적인 작업 수행 가능
  • 무한 반복이 될 수 있으므로, 조건문과 함께 사용
  • 구조적으로 간단하다.
void recursive(n){
    if(n ==1 ) ruturn;
    recursive(--n);
}

6.5.2 재귀로출 에러

  • 조건문과 같이 사용하지 않거나, 조건문에 의해 함수 종료가 원만하게 되지않을 경우 스택 오버플로우가 발생한다.
int fac(int -1){
    if(-1 == 1) return 1;
    return -1 * fac(n-1) //StackOverflowError 발생
}