※ 학습내용을 바탕으로 작성하여 틀린 사항이 있을 수 있습니다.
함수 내에서 자기 자신의 함수를 호출하여 반복하는 효과를 주는 함수방법이다. 이때 무한루프에 빠질 수 있으니 주의 하도록 한다.

다음과 같이 TakeDamage를 호출하고 실행할경우 매개변수 damage가 0보다 클경우 damage + TakeDamage(damage-1)을 통해 damamge매개변수가 하나씩 줄어들때마다 함수를 호출하여 1~10까지 더한 값을 출력할 수 있다.
다음은 피보나치 수열에 대한 재귀함수이다.

첫번째 두번쨰는 우리도 알고 있지만, 값 타입과 참조 타입은 헷갈릴 수 있다.




구조체의경우 스택 메모리에 할당되고 그 값을 복사받아 할당하기 때문에 이전의 원본값에 영향을 주지 않지만 클래스의 경우 원본을 가리키는 주소를 받아와서 원본값에 영향을 주기 떄문에 바뀌는것을 볼 수 있다.
덱은 양쪽에서 넣고 뺄 수 있는 형식의 자료구조이지만 c#에서는 제공하지 않는 자료구조이다. 이를 c# 전용으로 만들어주었다.






