부분 클래스를 사용하여 속성과 메서드 멤버를 나누어 관리하기
부분 클래스를 사용하면 클래스의 여러 멤버를 이름이 동일한 클래스에 나누어서 관리할 수 있어 편리합니다. 다음 내용을 입력한 후 실행해 보세요.
부분 클래스를 사용하여 속성과 메서드 멤버를 나누어서 관리: PartialClass.cs
using System; namespace PartialClass { //① 클래스에 partial 키워드를 붙여 부분 클래스로 설정하고 멤버 제공 public partial class Person { public string Name { get; set; } public int Age { get; set; } } //② 부분 클래스의 다른 클래스/파일에 정의된 멤버 사용 가능 public partial class Person { public void Print() => Console.WriteLine($"{Name} : {Age}"); } class PartialClass { static void Main() { //ⓐ 부분 클래스인 Person 클래스의 인스턴스 생성 Person person = new Person(); //ⓑ 멤버가 함께 노출되는 것 확인 person.Name = "C#"; person.Age = 20; //ⓒ 출력 person.Print(); } } }
실행 결과
C# : 20
PartialClass 네임스페이스에는 ①이나 ②처럼 이름이 같은 Person 클래스가 있습니다. 이름이 같은 클래스를 가질 수 있는 이유는 클래스 시그니처에 partial 키워드가 제공되기 때문입니다. ①의 Person 클래스에는 속성 멤버만 제공하고, ②의 Person 클래스에는 메서드 멤버만 제공했습니다.
프로그램을 실행하는 과정에서 ⓑ와 ⓒ처럼 서로 다른 곳에 정의된 멤버들을 모두 하나의 인스턴스 개체인 person으로 접근해서 사용할 수 있습니다.