이전 2개의 포스팅에서 Covariance/Contravariance와 PECS 원칙에 대해 다루었다. 이번 포스팅에서는 마지막으로 Java와 Kotlin의 Covariance의 차이를 알아보려고 한다. 그러기 위해 먼저 Kotlin의 Collection과 MutableCollection을 알아보자. Kotlin에서는 List, Set, Map과 같이 앞에 “Mutable”로 시작하지 않는 Collection은 immutable하다. 즉, read-only라는 의미이다. 그렇기 때문에 각 인터페이스를 확인해 보면 immutable 자료형은 제네릭 타입 파라미터에 out 키워드가 붙어있는 것을 확인할 수 있다. public interface Collection : Iterable public interfa..
Generic하면 빠질 수 없는게 Covariance와 Contravariance의 개념이다. 처음 이 개념을 Java의 Generic을 공부하면서 접했었는데, 그 때는 분명 다 이해했다고 생각하고 넘어갔지만 Kotlin을 공부하면서 다시 보니 헷갈리기 시작했다. 그래서 앞으로 몇 개의 포스팅에 걸쳐서 Covariance와 Contravariance의 개념에 대해 다시 공부해서 이해한 내용을 정리해 보려고 한다. Covariance는 간단하게 “a more derived type”이라고 표현하고, Contravariance는 “a less derived type”이라고 표현할 수 있다. more derived type이란, Parent Class와 Child Class가 있을 때 Child Class를 ..
- Total
- Today
- Yesterday
- kotlin
- SQL
- Java
- Algorithm
- covariance
- SQL Server
- Android
- AsyncListDiffer
- pecs
- 프로그래머스
- MSSQL
- AndroidStudio
- 내용제공자
- SQLiteOpenHelper
- Python
- python3
- 위험권한
- GitHub
- ViewHolder
- SOCKET
- DiffUtil
- 파이썬
- SQLD
- RecyclerView
- 부스트코스
- gson
- 알고리즘
- 안드로이드
- RuntimeException
- personal access token
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |