프로그래밍/Java | 2014. 6. 23. 23:24
재귀 호출(recursive call)
메서드의 내부에서 메서드 자기 자신을 다시 호출하는것
재귀호출은 반복문이 무한반복에 빠지는 것처럼 무한호출이 되기 쉬우므로 주의해야한다.
재귀호출은 다소 효율이 떨어진다는 단점이 있다.! 반복적으로 메서드를 호출하는 것이기 때문에 메서드를 호출하는데드는 비용이 추가적으로 발생하기 때문이다.
그래도 가능하면 재귀호출을 통해 간단한 코드를 작성하는 것이 좋으며, 성능에 문제가 되는 경우에만 재귀호출 대신 반복문을 사용하도록 하자.
대표적인 재귀호출의 예는 팩토리얼(factorial)을 구하는 것.
static long factorial(int n)
{
long result =0;
if( n == 1){
result =1;
}else{
result =n * factorial(n-1) ; // 다시 자기 자신을 호출한다.
}
return result ;
}
//이 함수를 삼항연산자 한줄로 요약하면
// return (n == 1) ? 1 : n * factorial(n-1);
}
[Java] 오버라이딩(Overriding) (0) | 2014.06.25 |
---|---|
[Java] 단일상속(single inheritance) & Object 클래스 (0) | 2014.06.24 |
[Java] 상속(inheritance)에 대한 이야기 (0) | 2014.06.24 |
[Java] 변수 초기화에 대한 이야기 (0) | 2014.06.24 |
[Java] 생성자(Constructor)에 대한 이야기 (0) | 2014.06.24 |
[Java] JVM의 메모리 구조 (0) | 2014.06.23 |
[Java] 반환값 return의 TIP (0) | 2014.06.23 |
[Java] 배열에 대한 이야기 (0) | 2014.06.23 |
[Java] 조건문과 반복문에 대한 이야기 (0) | 2014.06.23 |
[Java] 나머지 연산자 ' % ' 와 시프트 연산자 ' <<, >>, >>> ' 이야기 (0) | 2014.06.23 |
Recent Comments