
이번에 알아볼 것은 Partial 키워드 이다.
Partial을 번역하면 부분적이라는 뜻이 나온다.
그렇가면 C#에서의 Partial은 어떤 역할일까?
MSDN에는 이렇게 나와 있다.

말이 다소 어려울 수 있지만, 한마디로
하나의 클래스의 정의를 여러 곳에서 할 수 있다는 뜻이다.
아래는 사용 예시이다.
internal class Program
{
static void Main(string[] args)
{
Monseter monseter = new Monseter();
monseter.PrintArray();
monseter.PrintArray2();
}
}
partial class Monseter //partial
{
string str = "나는 괴물이다."; //공유할 변수
public void PrintArray()
{
Console.WriteLine($"PrintArray1: {str}");
}
}
partial class Monseter //partial
{
public void PrintArray2()
{
Console.WriteLine($"PrintArray2: {str}");
}
}
다음 코드는 partial 키워드를 사용하여 똑같은 class Monster를 두개 사용하였다.
일반적인 class였으면 오류가 떴겠지만 partial 키워드를 사용하여 가능하게 하였다.
이 프로그램을 실행 해보면

PrintArray2에서
partial class Monseter에서 선언한 변수도 사용가능
한 것을 확인 할 수 있다.
partial은 private와 같은 접근 수준을 가진다.
partial은 class뿐만 아니라 struct나 interface에서도 사용 할 수 있다.
팀프로젝트를 하다보면 하나의 클래스를 한명이 작업하고 있으면 기다리고만 있어야 했었어서 불편했는데 partial을 사용하면 그럴 일이 사라질 것 같다!
우와, 처음 보는 문법이네요. 정말 감사합니다.