• 메소드 안에서 다른 메소드를 호출하는것도 가능? -> 프로그램을 작성할 때에 일반적으로 사용되는 기법,프로그래밍시 자주 사용하게 되니 반드시 숙지해야 한다.

 

메소드 안에서 다른 메소드 호출 (1)
메소드 안에서 다른 메소드 호출 (2)

->calculate 메소드는 사용자가 입력한 값을 기반으로 덧셈 혹은 곱셈을 수행하기 위해 add와 multiply메소드를 호출하였다. 메소드는 다른 메소드 뿐만 아니라 자기 자신 또한 호출할 수도 있다.자기 자신을 호출하는 함수를 '재귀함수'라고 한다.

but, 재귀함수는 같은 메소드를 무한히 반복해 호출하다가 프로그램이 죽어버릴 위험 또한 존재한다.

 

 

 

그림10.22-자기 자신을 호출하는 recursion 메소드

->이 프로그램을 실행해보니 다음과 같이 동일한 문자열을 계속해서 출력하다가 오류를 출력하고 종료되어 버린다.

그림10.23-RecursionFailure 재귀함수의 위험성

->이를 해결하기 위해서는 return을 이용해 적절한 시점에 함수를 탈출할 수 있도록 구현해주어야 하지만 위험 부담이 크기 때문에 되도록이면 사용하지 않기를 권장한다고 한다.

+ Recent posts