자바의 변성 - 공변/무공변/반공변, 사용지점 변성과 선언 지점 변성
목차 · 변성 · 제네릭과 공변/무공변 · 와일드카드 타입과 공변/반공변 · 사용지점 변성과 선언 지점 변성 변성 변성(Variance)은 타입의 계층 관계에서 서로 다른 타입 간에 어떤 관계가 있는지 나타내는 개념이다. 해당 개념은 자바의 제네릭을 설명하기 위해 자주 사용된다. 변성에는 네 가지 종류가 있다. 공변(covariant), 반공변(contravariant), 이변량(bivariant), 무공변(or 불공변, invariant) 이 중에서 알아볼 것은 공변, 반공변, 무공변이다. 제네릭과 공변/무공변 공변은 사전적 의미로 '함께 변하는'이라는 뜻이다. 제네릭은 기본적으로 무공변(or 불공변, invariant)이다. 즉, 서로 다른 타입 Type1과 Type2가 있을 때, List은 List..
2022. 2. 8.