프로그래밍/C,C++,C#

[C#] partial class

Beginner:) 2022. 3. 30.
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들을 모아 같이 컴파일 한다.

반응형

댓글