[C#] Partial Class
개요
Partial Class란?
=> Partial Class는 C# 2.0에 도입된 기능으로 클래스를 여러 파일에 분할하여 정의할 수 있는 클래스 입니다.
클래스의 내용을 다른 파일로 분할할 수 있지만, 응용 프로그램이 컴파일될 때 분할된 파일이 결합되기 때문에 논리적으로는 하나입니다.
규모가 큰 개발 환경에서는 간혹 볼 수도 있지만 실제로는 많이 사용되지 않으니
간략히 이런 개념이다 정도로 이해하시는 정도로 충분하다고 생각합니다.
장점
- 큰 클래스를 분할하여 여러 개발자가 사용할 수 있다
- 규모가 큰 개발에서 접근 권한, Complict등의 문제 발생을 줄일 수 있다.
단점
- 가독성을 해친다
- 디버깅시 Break Point로 쫒아가기 힘들다
- 이름이 다른 같은 기능의 메소드가 중복 가능성이 있다.
(A클래스의 이미지 로딩 함수 1, B클래스 이미지 로딩 함수 2)
사용시 주의점
- 다중상속을 지원하지 않습니다.
- 분할된 파일은 모두 partial키워드를 사용해야 합니다.
- 메소드는 반드시 void를 return 해야한다.
예제
아래의 예시에서는 car01, car02라는 cs파일에 클래스를 분할한 예시 입니다.
[Car01.cs]
partial class Car
{
private string _name;
private int _year;
public void DisplayCarInfo()
{
Consol.WriteLine("Name : " + _name + " " + "Year : " + _year);
}
}
[Car02.cs]
partial class Car
{
public string Name
{
get { return _name; }
set{ _name = value; }
}
public string Year
{
get { return _year; }
set{ _year = value; }
}
}
[Main.cs]
class Example
{
void Main()
{
Car _car = new Car();
_car.name = "Volvo_XC90";
_car.year = 2022;
_car.DisplayCarInfo();
}
}
build result
Name : Volvo_XC90 Year : 2021