Kotlin
-
[Kotlin] Generic 제네릭이란?, variance : in, outKotlin 2023. 6. 8. 01:15
제네릭이란? 이렇게 생긴 코드를 많이 봤을 것이다. 이게 바로 제네릭이다. 제네릭을 사용하면 타입 파라미터 (type parameter)를 받는 타입을 정의할 수 있다. 예를 들어, List라는 타입이 있다면 그 안에 들어가는 원소의 타입을 정의한다. val members: List = listOf("A","B","C") >> members 는 문자열을 담은 리스트다. ( 그냥 리스트가 아니라 ) Map 클래스는 key 타입과 value 타입을 타입 파라미터로 받으므로 Map가 된다. 이런 제네릭 클래스에 Map 처럼 구체적인 타입을 타입 파라미터로 넘기면 타입을 인스턴스화할 수 있다. Java와 다르게 Kotlin에서는 제네릭 타입의 타입 인자를 프로그래머가 명시하거나 컴파일러가 추론할 수 있어야 한다..
-
[Kotlin] Scope Function : apply, run, with, also, let 정리Kotlin 2023. 5. 28. 23:53
🔎 Scope function 란? 제공된 람다 식이 있는 객체에서 이러한 함수를 호출하면 임시 범위가 형성 되는데, 이 범위 내에서는 이름 없이 개체에 접근할 수 있습니다. 즉 특정 범위 {} 안에서 특정 객체를 this 나 it 을 통해 접근 및 조작이 가능한 함수입니다. scope function은 코드를 더 간결하고 읽고 쉽게 만들 수 있습니다. scope function 은 두가지 구성 요소로 이루어져 있는데 수신 객체(receiver) 와 수신 객체 지정 람다 입니다. 여기서 수신 객체는 확장 함수가 호출되는 대상이 되는 객체 입니다. 수신 객체 지정 람다는 나머지 구성요소인 block 부분 입니다. 이러한 함수는 총 5가지로 apply, run, with, also, let 가 있습니다. a..