min's devlog

재귀 호출(recursive call) 본문

til/Java

재귀 호출(recursive call)

값진 2022. 3. 21. 14:03

재귀 호출(recursive call)

  - 메소드 내부에서 해당 메소드가 또다시 호출되는 것

    * 자기가 자신을 계속해서 호출하는 반복을 막기 위해 재귀 호출을 중단 명령문을 포함한다.

 

 

 

1 + N 까지의 합계 출력

public class Recursive {
	public static void main(String[] args)  {
		Print(5); //출력 메소드 호출
	}
	
	//출력 메소드
	public static void Print(int n)
	{
		// n이 0인 경우 return
		if(n == 0)
			return;
		
		System.out.println("재귀함수");
		Recursive(n-1); // 재귀함수 시작
	}
}

n이 0이 될 때 메소드를 끝낸다.

함수를 호출할 때 마다 n에서 1씩 빼서 재귀함수를 종료하게 만든다.

 

 

피보나치 수열

public class FibonacciFunction {
	public static void main(String[] args)  {
		int n = 10;
		
		for(int i = 0; i < n; i++)
			System.out.print(Fibonacci(i) + " ");
	}
	
	// 피보나치 수열의 결과를 구하는 메소드
	public static int Fibonacci(int n)
	{
		if(n == 0)
			return 0;
		
		if(n == 1 || n == 2)
			return 1;
		
		else 
			return Fibonacci(n - 1) + Fibonacci(n - 2);
	}
}\

재귀함수를 사용한 N = (N - 1) + (N - 2) 의 계산

'til > Java' 카테고리의 다른 글

문자열(String)  (0) 2022.03.22
String 조작 기능  (0) 2022.03.21
메소드 오버로딩  (0) 2022.03.21
this와 this()  (0) 2022.03.21
생성자(Constructor)  (0) 2022.03.21
Comments