본문 바로가기
개발 공식/C#

C# 언어 상속, 인터페이스, 대리자, LINQ

by JinCoding 2023. 3. 18.
반응형

 

안녕하세요! 이번 포스팅에서는 C# 언어의 상속, 인터페이스, 대리자, LINQ에 대해 알아보도록 하겠습니다.

이러한 기능들은 활용하면 보다 효율적이고 직관적인 코드를 작성할 수 있게 됩니다.

함께 C#의 다양한 기능들을 알아보며, 보다 나은 코드를 작성하는 방법을 공부하겠습니다.

C# 언어에 대한 기본개념은 아래의 포스팅에서 확인해주세요.

2023.03.17 - [개발 공식/C#] - C# 초보자를 위한 기초 강좌

 

C# 초보자를 위한 기초 강좌

C#은 Microsoft에서 개발한 객체 지향 프로그래밍 언어입니다. C#은 .NET Framework와 함께 사용되며, Windows 운영 체제에서 실행되는 애플리케이션 개발에 자주 사용됩니다. 이번 포스팅에서는 C#의 기본

seroi-programming.tistory.com


상속

C#에서 상속은 이미 작성된 클래스를 확장하여 새로운 클래스를 만드는 기능입니다.

상속을 사용하여 코드의 재사용성을 높일 수 있으며, 클래스 간의 관계를 명확히 할 수 있습니다.

public class Animal
{
    public string Name { get; set; }
    public virtual void MakeSound()
    {
        Console.WriteLine("The animal makes a sound");
    }
}

public class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("The dog barks");
    }
}

Dog myDog = new Dog();
myDog.Name = "Fido";
myDog.MakeSound();

 

인터페이스

C#에서 인터페이스는 클래스가 구현해야 하는 메서드, 속성 및 이벤트의 집합입니다.

인터페이스를 사용하여 클래스 간의 관계를 정의하고, 코드의 재사용성과 유연성을 높일 수 있습니다.

public interface IAnimal
{
    string Name { get; set; }
    void MakeSound();
}

public class Cat : IAnimal
{
    public string Name { get; set; }
    public void MakeSound()
    {
        Console.WriteLine("The cat meows");
    }
}

Cat myCat = new Cat();
myCat.Name = "Whiskers";
myCat.MakeSound();

 

대리자

C#에서 대리자는 메서드에 대한 참조를 나타내는 개체입니다.

대리자를 사용하여 메서드를 쉽게 전달하고, 이벤트 처리 및 콜백 함수 등에 사용할 수 있습니다.

public delegate void MyDelegate(string message);

public class MyClass
{
    public void Method1(string message)
    {
        Console.WriteLine(message);
    }

    public void Method2(string message)
    {
        Console.WriteLine(message);
    }
}

MyClass myClass = new MyClass();
MyDelegate myDelegate1 = new MyDelegate(myClass.Method1);
MyDelegate myDelegate2 = new MyDelegate(myClass.Method2);
myDelegate1("Hello");
myDelegate2("World");

 

LINQ

C#에서 LINQ는 데이터 소스에서 데이터를 쿼리하고 조작하는 데 사용되는 기술입니다.

LINQ를 사용하여 데이터베이스, XML 문서 및 컬렉션 등의 데이터 소스에서 데이터를 쉽게 추출하고 조작할 수 있습니다.

int[] numbers = { 1, 2, 3, 4, 5 };
var query = from num in numbers
            where num % 2 == 0
            select num;

foreach (int num in query)
{
    Console.WriteLine(num);
}

 

반응형

댓글