제네릭 함수

    제네릭 함수를 정의하려면 부등호로 둘러싼 제네릭 타입 파라미터를 함수 이름 앞에 붙인다.

    IntroGenerics/GenericFunction.kt

    package introgenerics
    import atomictest.eq
    
    fun <T> identity(arg: T): T = arg
    
    fun main() {
      identity("Yellow") eq "Yellow"
      identity(1) eq 1
      val d: Dog = identity(Dog())
      d.bark() eq "Ruff!"
    }

    identity()T 타입의 값을 반환하는 제네릭 함수이므로 dDog 타입이다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.