728x90
타입 호환성
모든 델리게이트 타입은 다른 모든 델리게이트 타입과 호환되지 않음.
메서드 대상이 동일한 델리게이트 인스턴스는 상등으로 간주.
멀티캐스트 델리게이트는 같은 대상 메서드들이 같은 순서로 등록된 경우에 상등으로 간주.
매개변수 호환성
어떤 메서드를 호출 시, 그 메서드의 매개변수가 요구하는 것보다 구체적인 형식의 인수를 지정할 수 있음.
델리게이트의 매개변수 형식이 대상 메서드의 매개변수 형식보다 구체적일 수 있으며, 이를 반변성(Contravariance)라고 함.
이러한 특성은 기본적으로 다형성을 가진 메서드의 정상적인 작동 방식임.
반환 형식의 호환성
어떤 메서드를 호출 시, 호출자가 요구한 것보다 구체적인 형식 값을 메서드가 반환 가능.
델리게이트는 대상 메서드의 반환 형식보다 더 구체적으로 반환할 수 있으며, 이를 공변성(Covariance)라고 함.
이 역시 다형성을 가진 메서드의 정상적인 작동 방식임.
728x90
'정리가 필요한 카테고리(추후 정리) > C#,Unity' 카테고리의 다른 글
C#.NET] WMPLib.WindowsMediaPlayer를 이용해서 wav가 아닌 오디오 파일 재생하는 방법 (0) | 2019.04.24 |
---|---|
C#] Dispose 호출해야 하는 경우와 그렇지 않아야 하는 경우 (0) | 2019.03.26 |
WPF, 윈폼] 마우스 커서 위치에 있는 픽셀의 색상값(RGB) 구하는 방법 (1) | 2019.02.02 |
윈폼(Winform)에서 폼보더스타일(FormBorderStyle)이 None일 때, 폼 드래그 구현 (0) | 2018.12.23 |
Unity 주요 함수 정리 (0) | 2018.07.14 |