C#의 다른 클래스에 클래스 포함

Syed Hassan Sabeeh Kazmi 2023년10월12일
  1. using <namespace>를 사용하여 C#의 다른 클래스에 클래스 포함
  2. 상속을 사용하여 C#의 다른 클래스에 클래스 포함
C#의 다른 클래스에 클래스 포함

이 자습서에서는 C#의 다른 클래스에 클래스를 포함하는 다양한 방법을 배웁니다. 사용자 정의 청사진 또는 프로토타입과 같은 클래스에는 다른 클래스 내에서 호출할 수 있는 개체와 메서드가 포함됩니다.

다른 클래스에 클래스를 포함하면 클래스가 다른 클래스의 메서드와 개체를 호출할 수 있습니다. 이 기능을 통해 사용자는 기술적으로 클래스를 그룹화하고 더 읽기 쉽고 유지 관리하기 쉬운 코드를 생성할 수 있습니다.

using <namespace>를 사용하여 C#의 다른 클래스에 클래스 포함

C#의 네임스페이스는 논리적으로 정렬된 클래스, 구조체, 인터페이스, 열거형 또는 대리자입니다. C#의 네임스페이스는 중첩될 수 있습니다. 즉, 클래스를 정의하고 다른 클래스에 포함할 수 있습니다.

특정 네임스페이스의 클래스와 다른 .cs 파일의 클래스는 <namespace>;를 사용하여 호출할 수 있습니다. 클래스의 멤버는 using <namespace>.<method>와 같이 다른 클래스로 정의할 때 dot(.) 연산자를 사용하여 액세스할 수 있습니다.

// WelcomeClass.cs

namespace SubClassNamS {
  public class WelcomeClass {
    public static void Welcome() {
      // To show a message box when this method from `WelcomeClass` will be called by another class
      MessageBox.Show("Hello World!", "Test Subject", MessageBoxButtons.OK,
                      MessageBoxIcon.Information);
    }
  }
}

C# 프로젝트의 WelcomeClass 클래스는 WelcomeClass.cs 파일의 일부입니다. 여기에는 Welcome() 메서드가 포함되어 있습니다.

SubClassNamS 네임스페이스는 다른 클래스에 포함하는 데 사용할 수 있는 이 클래스에 대한 참조입니다.

Form1.csbutton1 버튼만 포함하는 C#의 양식입니다. WelcomeClass.csForm1.cs는 동일한 C# 프로젝트의 일부이며 WelcomeClass.cs 클래스는 네임스페이스를 사용하여 Form1.cs의 클래스에서 호출할 수 있습니다.

// Form1.cs

// Use `using` Namespace of another class from a different file
using static SubClassNamS.WelcomeClass;

namespace IncludeClass {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e) {}

    // Button `Button1` click event
    private void button1_Click(object sender, EventArgs e) {
      // No need to mention `WelcomeClass` here
      Welcome();
    }
  }
}

SubClassNamS.WelcomeClass를 포함하면 SubClassNamS 네임스페이스에서 WelcomeClass에 액세스할 수 있습니다.

이 메서드는 C#에서 네임스페이스를 사용하여 메서드와 멤버를 도입하여 WelcomeClass 클래스를 Form1 클래스로 가져오거나 포함하는 데 도움이 됩니다.

상속을 사용하여 C#의 다른 클래스에 클래스 포함

두 클래스가 C#의 동일한 .cs 파일에 있는 경우 [class].[method]();를 사용하여 클래스를 다른 클래스에 간단히 포함할 수 있습니다. 상속을 사용하여 한 클래스에서 다른 클래스로 메서드와 요소를 도입할 수 있습니다.

클래스 상속의 개념은 Base라는 다른 클래스 또는 상위 클래스에서 상속되는 Derived 또는 하위 클래스로 구성됩니다. 상속은 클래스 가져오기를 까다롭게 만들지만 부모 클래스만 호출하여 두 클래스의 메서드를 모두 활용할 수 있습니다.

using System;

// Parent Class
class Rocket {
  public string Type = "Rocket";
  public void bang() {
    Console.WriteLine("Boom, Boom!");
  }
}

// Child Class
class Celebration : Rocket {
  public string RocketModel = "HappyJones";
}

// Main program
class Program {
  static void Main(string[] args) {
    Celebration Air = new Celebration();
    Air.bang();
    Console.WriteLine(Air.Type + ": " + Air.RocketModel);
  }
}

출력:

Boom, Boom!
Rocket: HappyJones

RocketCelebration 클래스의 요소에 모두 액세스할 수 있는 Celebration 클래스의 개체로 Air를 만듭니다. C#에서 파생 클래스의 Air 개체는 상속을 사용하여 Program 클래스로 두 개의 다른 클래스를 가져오는 데 도움이 됩니다.

두 클래스가 동일한 네임스페이스에 있는 경우 import 문이나 using 네임스페이스가 필요하지 않습니다. 클래스를 다른 클래스에 포함시키는 가장 쉬운 방법은 TecClass 클래스의 인스턴스를 만들고 MainClass 클래스에서 해당 멤버 함수를 호출하는 것입니다.

using System;

public class TecClass {
  public static void CallMethod() {
    Console.WriteLine("Hello World");
  }
}

class MainClass {
  public static void Main(string[] args) {
    TecClass.CallMethod();
  }
}

출력:

Hello World

클래스를 다른 클래스에 포함하는 가장 최적화된 방법은 클래스에 대해 별도의 .cs 파일을 만들고 <namespace>를 사용하여 호출하는 것입니다. 클래스의 정적 멤버를 기본 클래스에 포함하려면 using static [namespace].[class];를 사용하세요.

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub

관련 문장 - Csharp Class