본문 바로가기

lang/java

재귀함수

이 문제에서 재귀함수를 주로 다루므로 오랜만에 재귀함수에 대해 다시 짚고 넘어가봤다!!!

 

<재귀함수 과정>

함수가 호출되면 스택프레임이 스택에 push되고, 함수가 종료되면(return을 만나거나 함수 끝까지 돎) 스택프레임이 스택에서 pop 된다

제일 위에 있는 함수는 count==5라 return을 만나 함수가 종료되었고

나머지 함수들은 아직 func(count+1)까지만 수행해 함수의 끝까지 수행하지 않았으며 return을 만나지도 않았다. 즉, 함수가 종료된 상태가 아니기에 System.out.println("2")를 거쳐 함수 끝까지 수행시켜줘야 함수가 종료되어 pop될 수 있다.

-> 이 과정을 겨치면 결론적으로 1이 5번 pop되고, 2가 5번 pop 된다

 

 

 

 

 

아래 블로그 바탕으로 이해한 걸 정리해보았다

https://targetcoders.com/%EC%9E%AC%EA%B7%80%ED%95%A8%EC%88%98-%EC%98%88%EC%A0%9C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/

 

재귀함수 예제로 이해하기, 3가지 규칙 - 타깃코더스

재귀함수 이해의 과정은 험난하지만 개발자로서 실력을 한 단계 높이기 위해 반드시 거쳐야 할 관문 중 하나다. 재귀함수 예제를 활용해 쉽게 이해할 수 있도록 설명해 보려 한다. 원래 어려운

targetcoders.com

 

'lang > java' 카테고리의 다른 글

이중배열 , 덱  (0) 2024.01.24
null 값 return 할 때 defualt값 처리  (0) 2024.01.22
자바 개념 복기  (0) 2024.01.17
배열 정렬  (0) 2024.01.12
Collections framework  (0) 2023.12.19