[[TableOfContents]] == 코틀린 소개 == * p35 * 코틀린은 간결하고 실용적이며, 자바 코드와의 상호운용성을 중시한다. * p37 * 코틀린의 주목적은 현재 자바가 사용되고 있는 모든 용도에 적합하면서도 더 간결하고 생산적이며 안전한 대체 언어를 제공하는 것이다. * p38 ~ p39 * 코틀린은 정적 타입 지정 언어다. 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안에서 객체의 필드나 메서드를 사용할 떄마다 컴파일러가 타입을 검증해준다는 뜻이다. * 대부분의 경우 코틀린 컴파일러가 문맥으로부터 변수 타입을 자동으로 유추할 수 있다.(타입 추론 기능) * p41 * 불변 데이터 구조를 사용하고 순수 함수를 그 데이터 구조에 적용한다면 다중 스레드 환경에서 같은 데이터를 여러 스레드가 변경할 수 없다. 따라서 복잡한 동기화를 사용하지 않아도 된다. (!) * p46 * 흔한 안드로이드 개발 작업을 훨씬 더 적은 코드로 작성할 수 있고, 때로는 전혀 코드를 작성하지 않고 그렇게 할 수도 있다. * 개발할 때마다 리스너 덕지덕지 붙어 있는 게 마음에 안 들었는데 코틀린은 좀 다르려나 - [김은솔] * 코틀린 타입 시스템은 null 값을 정확히 추적하며 널 포인터로 인해 생기는 문제를 줄여준다. * 제일 기대하고 있는 기능... - [김은솔]