코틀린에서 사용하는 람다에 대해 알아보자람다는 다른 함수에 넘길 수 있는 작은 코드 조각을 뜻한다.따라서 공통코드를 작성해놓고 다른 곳에서 공통으로 사용 가능하다.우선 코틀린에서 컬렉션에 관련 제공되는 람다가 적용된 메서드를 활용해보자아래 코드예제를 보면 Person을
코틀린에서는 여러 컬렉션 관련 함수를 제공한다..map(), .filter()와 같은 기본적으로 제공하는 api에 대해서는 간단히 설명하면 해당 API들은 리턴 값으로 컬렉션을 즉시 생성한다. 따라서 원소에 갯수가 많을 경우 메모리를 많이 차지 할 수 있다.시퀀스를 이
코틀린에서 널이 될 수 있는 타입을 명시적으로 작성한다. 이를 통해 NullPointerException으로부터 안전하게 사용할 수 있다.아래와 같은 코드를 작성하면 코틀린은 컴파일 에러를 발생한다.널 값을 허용하게 하고 싶다면 타입의 ?을 붙여주면 된다.String?
코틀린 에서는 원시타입과 래퍼타입을 구분하지 않고 사용한다.그렇다고 해서 하나의 타입으로 통일된건 아니고 컴파일러가 컴파일 시점에 더 효율적인 타입으로 컴파일해서 사용한다.따라서 Int 와 같이 널이 될 수 없는 타입의 변수는 원시타입으로 사용된다.(컬렉션과 같은 제네
고차함수는 다른 함수를 인자로 받거나 함수를 반환하는 함수를 말한다.선언하는 방법은 아래와 같다sum1의 타입을 보면 (Int, Int) -> Int 로 Int 타입인자 2개를 받고 Int를 반환한다는 뜻으로 해석 할 수 있다.이러한 반환타입은 코틀린 컴파일러가 타입
코틀린에서 제네릭은 기본적으로 자바와 동작이 비슷하다. 제네릭은 타입 소거를 사용해 구현된다. 이 말은 실행 시점에 타입 인자 정보가 들어있지 않다는 뜻이다. 아래 코드를 보면서 타입 소거를 알아보자test() 메서드는 Int 타입의 리스트를 받았기에 당연히 as? S