이 문제에서 재귀함수를 주로 다루므로 오랜만에 재귀함수에 대해 다시 짚고 넘어가봤다!!!
<재귀함수 과정>
함수가 호출되면 스택프레임이 스택에 push되고, 함수가 종료되면(return을 만나거나 함수 끝까지 돎) 스택프레임이 스택에서 pop 된다
제일 위에 있는 함수는 count==5라 return을 만나 함수가 종료되었고
나머지 함수들은 아직 func(count+1)까지만 수행해 함수의 끝까지 수행하지 않았으며 return을 만나지도 않았다. 즉, 함수가 종료된 상태가 아니기에 System.out.println("2")를 거쳐 함수 끝까지 수행시켜줘야 함수가 종료되어 pop될 수 있다.
-> 이 과정을 겨치면 결론적으로 1이 5번 pop되고, 2가 5번 pop 된다
아래 블로그 바탕으로 이해한 걸 정리해보았다
재귀함수 예제로 이해하기, 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 |