처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈

프로그래밍에서 '공변성(Covariance)'과 '반공변성(Contravariance)'이란?

어려움 freeCodeCamp
보기 및 정답
A 공변성은 하위 타입이 상위 타입 위치에 사용될 수 있고, 반공변성은 상위 타입이 하위 타입 위치에 사용될 수 있는 타입 관계이다
B 공변성은 일반적으로 두 변수의 값이 함께 증가하는 통계적 상관관계를 의미하고, 반공변성은 반대 방향으로 변하는 것이라고 할 수 있다
C 공변성은 양수 범위의 값만 허용하는 타입 제약이고, 반공변성은 음수 범위의 값만 허용하는 타입 제약이다
D 공변성과 반공변성은 동일한 의미를 가지며, 제네릭 타입 파라미터의 상한과 하한 경계를 동시에 표현한다

해설

공변성(Covariance)은 Cat이 Animal의 하위 타입이면 List<Cat>도 List<Animal>의 하위 타입이 되는 관계입니다. 반공변성(Contravariance)은 반대로, Consumer<Animal>이 Consumer<Cat>의 하위 타입이 됩니다. 이는 타입 안전한 제네릭 사용에 중요한 개념입니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기