본문 바로가기

JAVA/일반

자바/Java 재귀호출 사용 하기 ~!


 < 개발 환경 >  
   작성일 : 2013.02.26
   OS 설치 버전 : Windows7 32bit  
   Java 설치 버전 : JDK 1.6.0_20 / JRE6  
   이클립스 설치 버전 : Indigo




자바/Java 재귀호출 사용 하기 ~!




자바에서 재귀호출을 사용 하는 방법 입니다. 재귀호출이란 자기 자신을 반복적으로 호출 하는 형태를 말합니다. 재귀호출을 메서드에 적용하는 방법에 대해 알아 보겠습니다. 실제 프로젝트 에서는 타이밍 이슈 때문에 특정 작업이 완료 되었는지 체크를 하기 위해서 재귀호출을 사용하는 경우가 있습니다.


RecursiveCall.java

package arabiannight.tistory.com.java.test;

public class RecursiveCall {

	public static void main(String[] args) {

		 System.out.println("sum = " + recursiveCallPlus(0) );  
		 System.out.println("minus = " + recursiveCallMinus(10) );  
		 recursiveCallTrue();
		 
	}
	
	 // 재귀호출 메서드 (1 ~ 10 합계 구하기) 1
	 static int recursiveCallPlus(int sum){
		 
		 if (sum == 10) {
			 return 10;
		 }
		 
		 return sum + recursiveCallPlus(sum + 1);
		 
	 }
	 
	// 재귀호출 메서드 (1 ~ 10 합계 구하기) 2
	static int recursiveCallMinus(int minus){
		 
		if (minus == 1) {
			return 1;
		}
		 
		return minus + recursiveCallMinus(minus - 1);
		 
	}
	
	// 재귀호출 메서드 (특정 변수가 true 일 경우 종료 되는 메서드)
	static boolean recursiveCallTrue(){
		 
		for (int i = 0; i <= 10; i++) {
			
			try { Thread.sleep(100); } 
			catch (InterruptedException e) { e.printStackTrace(); }
			System.out.println("count i = " + i);
			
			if (i == 10) {
				return true;
			} 
			
		}
		 
		return recursiveCallTrue();
		 
	}

}


결과 : 

sum = 55

minus = 55

count i = 0
count i = 1
count i = 2
count i = 3
count i = 4
count i = 5
count i = 6
count i = 7
count i = 8
count i = 9
count i = 10