공변성 코틀린의 제네릭과 가변성에 대해 이전 포스팅에서 제네릭에 대해 글을 쓰던중 공변성이라는 개념이 나왔다. 예를 들어 형식 A의 값을 필요로하는 모든 클래스에 형식 B의 값을 넣어도 아무 문제가 없다면 B는 A의 하위 형식이다. 예를 들어 Int 클래스는 Number클래스에서 상속 받았고, Number 클래스 변수에 Int의 인스턴스를 넣어줄 수 있다. 그렇다면 Int는 Number의 하위 형식이다. 가변성에는 공변성(Cova... 반공변성코틀린 제네릭제네릭무변성공변성코틀린공변성 공변성과 반공변성, 이변성 A는 인자의 타입으로 string 또는 number를 받을 수 있다. B의 인자에는 string만 받을 수 있으므로 A의 인자의 타입은 B의 인자의 타입을 포함하고 있는 슈퍼셋으로 생각할 수 있다. 이라고 할 때에 A는 B의 서브타입이라고 할 수 있다. A → B가 성립할 때 Some<A> → Some<B>의 관계가 성립하면 Some을 공변적이라고 부른다. A → B의 관계가 성립하고, Li... 타입스크립트공변성공변성
코틀린의 제네릭과 가변성에 대해 이전 포스팅에서 제네릭에 대해 글을 쓰던중 공변성이라는 개념이 나왔다. 예를 들어 형식 A의 값을 필요로하는 모든 클래스에 형식 B의 값을 넣어도 아무 문제가 없다면 B는 A의 하위 형식이다. 예를 들어 Int 클래스는 Number클래스에서 상속 받았고, Number 클래스 변수에 Int의 인스턴스를 넣어줄 수 있다. 그렇다면 Int는 Number의 하위 형식이다. 가변성에는 공변성(Cova... 반공변성코틀린 제네릭제네릭무변성공변성코틀린공변성 공변성과 반공변성, 이변성 A는 인자의 타입으로 string 또는 number를 받을 수 있다. B의 인자에는 string만 받을 수 있으므로 A의 인자의 타입은 B의 인자의 타입을 포함하고 있는 슈퍼셋으로 생각할 수 있다. 이라고 할 때에 A는 B의 서브타입이라고 할 수 있다. A → B가 성립할 때 Some<A> → Some<B>의 관계가 성립하면 Some을 공변적이라고 부른다. A → B의 관계가 성립하고, Li... 타입스크립트공변성공변성