C# 추가

장현태입니다·2025년 5월 11일

※ 학습내용을 바탕으로 작성하여 틀린 사항이 있을 수 있습니다.

재귀함수

함수 내에서 자기 자신의 함수를 호출하여 반복하는 효과를 주는 함수방법이다. 이때 무한루프에 빠질 수 있으니 주의 하도록 한다.

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

다음은 피보나치 수열에 대한 재귀함수이다.

구조체와 클래스 차이점

  • 구조체는 매개변수가 없는 생성자는 없고, 클래스는 매개변수 없이 생성자를 만들 수 있다.(기본생성자 자동생성)
  • 구조체는 상속이 되지 않지만 클래스는 상속이 가능하다.
  • 구조체는 값타입으로 스택메모리에 할당되고,
    클래스는 참조 타입으로 힙영역에 할당된다.

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

구조체의경우 스택 메모리에 할당되고 그 값을 복사받아 할당하기 때문에 이전의 원본값에 영향을 주지 않지만 클래스의 경우 원본을 가리키는 주소를 받아와서 원본값에 영향을 주기 떄문에 바뀌는것을 볼 수 있다.

C# Deque 만들기

덱은 양쪽에서 넣고 뺄 수 있는 형식의 자료구조이지만 c#에서는 제공하지 않는 자료구조이다. 이를 c# 전용으로 만들어주었다.

0개의 댓글