Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 꼭 알아야 할 핵심 키워드 5가지


C#에는 코드의 구조와 동작을 제어하는 여러 중요한 키워드가 있습니다. 그중에서도 실무에서 자주 사용되는 대표적인 키워드는 다음과 같습니다.

  • sealed
  • params
  • internal
  • this
  • abstract

sealed

C#에서 메서드에 sealed 한정자를 사용하면 해당 메서드는 더 이상 재정의(override)할 수 없게 됩니다. 단, sealed 메서드는 반드시 파생 클래스의 일부여야 하며, 이미 override된 메서드에만 적용할 수 있습니다.

class Base
{
    public virtual void Print() { }
}

class Derived : Base
{
    public sealed override void Print() { } // 더 이상 재정의 불가
}

params

메서드를 선언할 때 매개변수로 전달될 인자의 개수를 미리 알 수 없는 경우 params 키워드를 사용하면 유용합니다. params 배열을 활용하면 호출 시점에 가변 개수의 인수를 하나의 배열로 전달받을 수 있습니다.

public int Sum(params int[] numbers)
{
    return numbers.Sum();
}

// Sum(1, 2), Sum(1, 2, 3, 4) 처럼 다양한 개수의 인자 전달 가능

internal

internal 접근 한정자는 클래스의 멤버 변수와 멤버 함수를 현재 어셈블리 내의 다른 함수와 객체에 공개할 수 있도록 합니다. internal로 선언된 멤버는 해당 멤버가 정의된 응용 프로그램(어셈블리) 내부의 어떤 클래스나 메서드에서든 자유롭게 접근할 수 있지만, 외부 어셈블리에서는 접근이 제한됩니다.

this

C#의 this 키워드는 클래스의 현재 인스턴스를 참조할 때 사용됩니다. 특히 메서드의 매개변수 이름과 클래스 필드 이름이 서로 같을 때, 두 대상을 명확하게 구분하는 용도로도 널리 활용됩니다.

class Person
{
    private string name;

    public Person(string name)
    {
        this.name = name; // this로 필드와 매개변수를 구분
    }
}

abstract

C#의 abstract 키워드는 추상 클래스를 정의할 때 사용됩니다. 추상 클래스에는 구현이 없는 추상 메서드와 일반(비추상) 메서드가 함께 포함될 수 있으며, 추상 클래스 자체는 직접 인스턴스화할 수 없습니다. 따라서 반드시 파생 클래스에서 상속받아 추상 멤버를 구현해야 합니다.

abstract class Animal
{
    public abstract void Speak(); // 추상 메서드

    public void Sleep()           // 일반 메서드
    {
        Console.WriteLine("잠을 잡니다.");
    }
}