공부/C++ \C#

partial 키워드

Lero God 2020. 7. 14. 11:44
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