프로그래밍 언어/C#

C# 부분 클래스 (partial)

ShovelingLife 2022. 7. 19. 17:55

partial 키워드는 C#에서 부분 클래스를 지정한다, 장점으로는 여럿이서 하나의 프로젝트를 작업할 시 클린 코드를 유지할 수 있다는 점이다. 여러 책임이 있는 클래스가 있는 경우 각 클래스를 두 개의 구분자 클래스로 분할해야 한다. 부분 클래스를 사용하면 한 클래스의 정의를 여러 파일로 분할할 수 있다. 이 튜토리얼에서는 Person 클래스의 정의를 Person1.cs 및 Person2.cs 여러 파일로 분할한다.

 

Person.cs

using System;

namespace partial_class
{
    public partial class Person
    {
        private int id;
        private string name;
        
        public Person(int id, string name)
        {
            this.id = id;
            this.name = name;
        }
        
        public void show()
        {
            Console.WriteLine("Person id = {0}", id);
            Console.WriteLine("Person Name = {0}", name);
        }
    }
}

Person1.cs

namespace partial_class
{
    public partial class Person
    {
        private int id;
        private string name;
        public Person(int id, string name)
        {
            this.id = id;
            this.name = name;
        }
    }
}

Person2.cs

using System;

namespace partial_class
{
    public partial class Person
    {
        public void show()
        {
            Console.WriteLine("Person id = {0}", id);
            Console.WriteLine("Person Name = {0}", name);
        }
    }
}

main 함수를 포함하고 있는 Program.cs

namespace partial_class
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person(1,"Maisam");
            p.show();
        }
    }
}

출력:

Person id = 1
Person Name = Maisam

 

출처 : https://www.delftstack.com/ko/howto/csharp/partial-class-in-csharp/