contravariance : converting from narrower to wider (좁은것에서 넓은것으로의 변환)
제네릭 인터페이스에서 형식 매개 변수가 다음 조건을 충족하는 경우 공변(covariant)으로 선언할 수 있습니다.
- 형식 매개 변수는 인터페이스 메서드의 반환 형식으로만 사용되고 메서드 인수의 형식으로 사용되지 않습니다.
형식 매개 변수는 인터페이스 메서드에 대한 제네릭 제약 조건으로 사용되지 않습니다.
interface INoraml
class NormalSample
interface ICovariant
class Sample
interface IContravariant
class SampleContra
public class covriance
{
public void main()
{
ICovariant
ICovariant
ICovariant
iobj = istr;
}
public void main2()
{
INoraml
INoraml
INoraml
iobj = istr;
istr = iobj;
}
public void main3()
{
IContravariant
IContravariant
IContravariant
iobj = istr;
istr = iobj;
}
댓글 없음:
댓글 쓰기