더북(TheBook)

부분 클래스를 사용하여 속성과 메서드 멤버를 나누어 관리하기

부분 클래스를 사용하면 클래스의 여러 멤버를 이름이 동일한 클래스에 나누어서 관리할 수 있어 편리합니다. 다음 내용을 입력한 후 실행해 보세요.

부분 클래스를 사용하여 속성과 메서드 멤버를 나누어서 관리: 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으로 접근해서 사용할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.