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.cs
는 button1
버튼만 포함하는 C#의 양식입니다. WelcomeClass.cs
및 Form1.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
Rocket
및 Celebration
클래스의 요소에 모두 액세스할 수 있는 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];
를 사용하세요.
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