코틀린에서는 자바와 같이 여러가지 컬렉션을 만들 수 있다.코틀린의 collection 함수는 자바의 상호작용을 위해 자바의 컬렉션을 통해 제공된다. 코틀린 자체에서 컬렉션을 제공하지 않는다.코틀린은 자바보다 컬렉션에 제공되는 함수가 많다.추후에 자바에 없는 메소드를 코
최상위 함수 기존 자바에서는 하나의 메소드 또는 프로퍼티를 호출하기 위해서는 클래스안에 포함시켜아한다. 하지만 코틀린에서는 메소드 또는 프로퍼티를 파일안에 클래스 없이 최상위 수준에 위치 하면 된다. > JVM이 클래스 안에 들어있는 코드만을 실행 할 수 있기 때문에
확장 함수 어떤 클래스의 멤버 메소드인 것 처럼 호출 할 수 있지만 클래스 밖에 선언된 함수이다. > 확장 함수를 만들려면 추가하는 함수 이름 앞에 그 함수가 확장할 클래스의 이름을 붙이면 된다. 클래스 이름을 수신객체 타입 이라 부르며 확장함수가 호출되는 대상을 수
vararg 키워드를 사용하면 호출 시 인자 개수가 달라질 수 있는 함수를 정의할 수 있다.중위(infix)함수 호출 구문을 사용하면 인자가 하나뿐인 메소드를 간편하게 호출 할 수 있다.구조 분해 선언을 사용하면 복합적인 값을 분해해서 여러 변수에 나눠 담을 수 있다.
많은 개발자들이 좋은 코드의 중요한 특징중 하나가 중복이 없는것이라 믿는다.하지만 자바코드를 이용할때에는 DRY(Don't Repeat YourSelf) 원칙을 피하기는 쉽지 않다.코틀린에서 이걸 해결하는 방법은 함수를 함수 내부에 중첩 시킬 수 있다.여기서는 코드중복
코틀린은 자체 컬렉션을 생성하지 않지만 자바 클래스를 확장해서 더 풍부한 API를 제공한다.(ex : collection(Int).max() , list.first() ... 등등)함수 파라미터의 디폴트 값을 정의하면 오버로딩한 함수를 정의할 필요성이 줄어든다. 그리고