C# 3주차- 고급 문법 및 기능

C014·2023년 11월 17일

C#

목록 보기
11/22

제너릭

  • 제너릭은 클래스나 메서드를 일반화시켜 다양한 자료형에 대응할 수 있는 기능입니다.
  • 코드의 재사용성을 높일 수 있습니다.
  • < T > 키워드를 사용하여 제너릭을 선언합니다.
  • 제너릭 클래스나 메서드에서 사용할 자료형은 선언이 아닌 사용 시점에 결정됩니다.
  • 클래스나 메서드를 사용할 때는 대신 구체적인 자료형을 넣어줍니다.
// 제너릭 클래스 선언 예시
class Stack<T>
{
    private T[] elements;
    private int top;

    public Stack()
    {
        elements = new T[100];
        top = 0;
    }

    public void Push(T item)
    {
        elements[top++] = item;
    }

    public T Pop()
    {
        return elements[--top];
    }
}

// 제너릭 클래스 사용 예시
Stack<int> intStack = new Stack<int>();
intStack.Push(1);
intStack.Push(2);
intStack.Push(3);
Console.WriteLine(intStack.Pop()); // 출력 결과: 3

out, ref 키워드
  • out, ref 키워드는 메서드에서 매개변수를 전달할 때 사용합니다.
  • out 메서드 내에서 생성된 값을 반환할 때 사용합니다.
  • ref 기존 변수를 메서드에서 수정하려 할 때 사용합니다.
// out 키워드 사용 예시
void Divide(int a, int b, out int quotient, out int remainder)
{
    quotient = a / b;
    remainder = a % b;
}

int quotient, remainder;
Divide(7, 3, out quotient, out remainder);
Console.WriteLine($"{quotient}, {remainder}"); // 출력 결과: 2, 1

// ref 키워드 사용 예시
void Swap(ref int a, ref int b)
{
    int temp = a;
    a = b;
    b = temp;
}

int x = 1, y = 2;
Swap(ref x, ref y);
Console.WriteLine($"{x}, {y}"); // 출력 결과: 2, 1

profile
doro

0개의 댓글