들어가기 전에
서로 상하 관계에 영향을 준다면 가변성에 대해 생각해 보아야합니다.
핵심 키워드
- 가변성(variance)
- 공변성(covariance)
- 반공변성(contravariance)
- 무변성(invariance)
학습하기
들어가기 전에
서로 상하 관계에 영향을 준다면 가변성에 대해 생각해 보아야합니다.
핵심 키워드
학습하기
가변성의 3가지 유형
먼저 간단히 설명하면 기존의 Int 클래스는 Number 클래스의 하위 클래스입니다. 제네릭에서는 class Box<T>와 같은 경우에는 Box<Number>와 Box<Int>에는 아무런 관련이 없는 무변성입니다. 이제 생산자 입장의 out을 사용해 class Box<out T>로 정의되면 Box<Int>는 Box<Number>의 하위 자료형이 됩니다. 반대로 소비자 입장의 in을 사용하면 Box<Number>가 Box<Int>의 하위 자료형이 되고 반공변성이라고 부릅니다.
http://www.yes24.com
comment