Partial Class, Struct, Interface
C#은 클래스를 한 곳이 아닌 여러 소스 파일에서 정의를 할 수 있다.
그리고 컴파일할 때 나눠진 partial class들을 합친다.
한 partial class의 코드는 나중에 하나로 합친 클래스에 영향을 미치는데,
예를 들어 순수 가상 함수를 한 partial class에서 정의하면
클래스 전체가 추상화 된다.
또 서로 다른 partial class에서 여러 클래스들을 상속 받았을 때
컴파일 과정에서 전체 클래스는 partial class들이
상속 받은 모든 클래스들을 모두 상속 받는다.
partial class Earth : Planet, Rotate {}
partial Class Earth : Moon {}
partial class Earth : Planet, Rotate, Moon {}
Partial Method
함수에서도 partial 키워드를 쓸 수 있는데, 사용하면 함수의 선언과 구현을 다른 partial class에서 할 수 있다.
다만 제약 조건이 몇 가지 있다.
- return 값은 무조건 void
- private으로만 선언 가능
- virtual, extern, static, unsafe 키워드 못 쓴다
- 정의하는 데에선 delegate 쓸 수 있지만 선언하는 부분에선 안 된다
'공부 > C++ \C#' 카테고리의 다른 글
c# init 키워드 (0) | 2023.07.26 |
---|---|
정수의 합이 오버 플로우 났을 때 (0) | 2023.05.03 |
C++ 프로그래밍 : 런타임 타입 정보(Runtime Type Information) (0) | 2020.06.03 |
인라인 (Inline) (0) | 2018.08.08 |
vector의 size와 capacity (0) | 2018.07.04 |