무지개 곰
무지개곰의 성장이야기
무지개 곰
250x250
  • 분류 전체보기
    • 블록체인 공부
      • BlockChain
      • Ethereum
    • IT공부
      • Java
      • JavaScript
      • HTML + CSS
      • React
      • 프로그래머스 (TypeScript)
    • 독서
    • 영어 공부
      • 1일 1 작문
      • 영어 짧은 글
    • 홍보
hELLO · Designed By 정상우.
무지개 곰

무지개곰의 성장이야기

[JS] 재귀함수 이해하기
IT공부/JavaScript

[JS] 재귀함수 이해하기

2022. 9. 11. 12:00
728x90

재귀 함수 이해하기

  • 재귀 함수란?
  • 순서도(플로우 차트)
  • 예시
  • 예시의 순서도(플로우 차트)

재귀 함수란?

만든 함수 안에 자기와 똑같은 함수를 불러와 함수 안에 함수가 있는 구조입니다. 러시아 전통인형인 마트료시카 같은 구조입니다. 재귀라는 말의 뜻인 '되돌아오다'처럼 함수 안에서 자기 자신을 또 실행하는 구조입니다.

function 함수이름1(매개변수1){
    실행할 내용1
    함수이름1(매개변수2)
    실행할 내용2
}

1. 함수 이름 1을 실행합니다.

2. 실행할 내용 1을 실행합니다.

3. 함수 이름 1을 만났으므로 함수 이름 1을 실행합니다.

4. 3번에서 실행한 함수 이름 1안의 실행할 내용 1을 실행합니다.

5. 3번에서 실행한 함수 이름 1안에 함수 이름 1을 실행합니다.

6. 위의 내용을 반복합니다.


순서도(플로우 차트)

재귀함수 순서도(플로우 차트)
재귀함수 순서도(플로우 차트)


예시

//1~num까지의 합을 구하는 함수
let input=5;
function test(num){
	if(num==1){
		return 1;
	}
	result = num+test(num-1);
	return result;
}
console.log(test(input));

1. num을 5로 초기화한다.

2. console.log를 실행한다.

3. test(input)의 값을 알기 위해 test함수를 실행한다.

4. 매개변수로 input을 넣었기 때문에 함수의 내용에 num이 5가 된다.

5. if의 조건인 num==1이 거짓이므로 result = num + test(num-1)을 실행한다.

6. num이 5이므로 5+test(4)를 실행한다.

7. test(4)를 test(1)을 실행할 때까지 2~6을 반복한다.

8. test(1)을 실행하면 if(num==1)이 참이므로 return으로 1을 반환한다.

9. test(2)은 result = num+test(1)이 2+1이므로 return 3으로 반환한다.

10. 위의 과정을 반복한다.


예시의 순서도(플로우 차트)

재귀함수 예시 순서도(플로우 차트)
재귀함수 예시 순서도(플로우 차트)

함수 이해하러 가기

728x90
저작자표시 비영리 변경금지 (새창열림)
    'IT공부/JavaScript' 카테고리의 다른 글
    • [JS] 배열의 매서드 forEach 이해하기
    • [JS] 객체가 무엇인지 이해하기
    • [JS] 함수 function 이해하기
    • [JS] break 이해하기
    무지개 곰
    무지개 곰
    java solidity react javascript등 프로그래밍 공부 기록

    티스토리툴바