배열보다는 리스트를 사용하라1 [item 28] 배열보다는 리스트를 사용하라 배열보다는 리스트를 사용하라배열과 제네릭 차이 1배열배열은 공변이다. (함께 변한다는 뜻이다.)Sub가 Super의 하위 타입이라면 배열 Sub[]는 배열 Super[]의 하위 타입이 된다.제네릭불공변이다.즉, 서로 다른 타입 Type1과 Type2가 있을 때, List은 List의 하위 타입도 아니고 상위 타입도 아니다.이것만 보면, 제네릭에 문제가 있다고 생각할 수도 있지만, 사실 문제가 있는 건 배열 쪽이다. 아래 코드를 보자. 배열 예시코드 : 런타임에 실패한다. 위 코드는 컴파일 단계에서는 문제가 없지만 런타임 단계에서 문제가 발생한다. 제네릭 예시코드 : 컴파일되지 않는다.List를 사용하면, 컴파일 단계에서 문제를 알 수 있게 된다.배열과 제네릭 차이 2배열배열은 실체화(reify)된다.배열.. 2024. 5. 31. 이전 1 다음