-
22장 - 일반적인 알고리즘을 구현할 때 제너릭을 사용하라Kotlin/Effective Kotlin 요약 2023. 3. 5. 00:01
제네릭 함수
아규먼트로 함수에 값을 전달할 수 있는 것처럼, 타입 아규먼트를 사용하면 함수에 타입을 전달할 수 있습니다.
이를 제네릭 함수라고 합니다.
대표적으로는 filter 함수가 있으며 타입 파라미터로 T를 갖습니다.
이로 인해 컴파일러가 타입을 조금이라도 더 정확하게 추측할 수 있도록합니다.
또한 IDE도 이를 기반으로 여러 가지 유용한 제안을 해줍니다.
기본적으로 List<String> Set<User> 처럼 구체적인 타입으로 컬렉션을 만들 수 있게 클래스와 인터페이스에 도입된 기능입니다.
제네릭 제한
구체적인 타입의 서브타입만 사용하도록 제한할 수 있습니다.
콜론 뒤에 슈퍼 타입을 설정하여 제한을 거는 예시입니다.
예를 들어 T: Any를 활용하면 nullable이 아닌 모든 타입을 나타냅니다.
예를 들어 T: ItemAdapter를 사용하게 되면 ItemAdapter의 서브타입으로 제한됩니다.
'Kotlin > Effective Kotlin 요약' 카테고리의 다른 글
24장 - 제네릭 타입과 variance 한정자를 활용하라 (0) 2023.03.07 23장 - 타입 파라미터의 섀도잉을 피하라 (0) 2023.03.06 21장 - 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라 (0) 2023.03.04 20장 - 일반적인 알고리즘을 반복해서 구현하지 말라 (0) 2023.02.19 19장 - knowlege를 반복하여 사용하지 말라 (0) 2023.02.18