320x100
하나의 클래스를 여러번 나누어서 구현하는 것으로
1. 다수의 개발자가 하나의 클래스를 같이 개발하는 경우
2. 추상클래스로 사용할 경우
3. 이미 개발된 상황에 사용자가 추가적으로 함수를 정의할 때 사용
partial 한정자는 class, struct, interface가 가능
method의 경우 추가적으로 제한사항이 있다 (void 형식, 타입 일치, private 접근자)
- partial 클래스 예제
partial class Talk
{
public void sayHello()
{
Console.WriteLine("Hello");
}
}
partial class Talk
{
public void sayHi()
{
Console.WriteLine("Hi");
}
}
class Program
{
static void Main(string[] args)
{
Talk t = new Talk();
t.sayHello();
t.sayHi();
}
}
또 partial을 자주 볼 수 있는 부분이
WinForm의 경우 Form.cs 파일을 보면
Form 클래스의 시작이 partial인것을 볼 수 있다.
이것은(Form.cs) 내가 작성하는 부분이고
Code generator가 Form.Designer.cs 파일에 partial class를 정의한 것을 볼 수 있다.
컴파일러는 나중에 나뉘어진 partial class들을 모아 같이 컴파일 한다.
반응형
'프로그래밍 > C,C++,C#' 카테고리의 다른 글
[C#] 가장 간단한 Json사용 (0) | 2022.07.05 |
---|---|
[C# .NET] 시리얼포트 리스트 생성(feat. ComboBox) (0) | 2022.07.04 |
[C++/C] C++에서 C파일 호출하여 컴파일(LNK2001, LNK1120 오류) feat. 맹글링(Mangling) (1) | 2022.05.05 |
[C/C++] volatile 이란(쓰레드/변수 값 안바뀌는 오류) (0) | 2022.04.26 |
[C/C++] #define과 const 차이 (0) | 2022.03.04 |
댓글