Intro
새로운 언어가 등장하는 가장 큰 이유는 기존의 언어의 큰 문제/단점을 해결하거나, 새로운 기능이 필요했기 때문이다.
코틀린의 다양한 기능들을 알아보기 전에, ‘Kotlin’의 언어적 특징에 대해 먼저 알아보자
언어의 철학
코틀린은 자바와의 상호운용성에 초점을 맞춘 실용적이고 간결하며 안전한 언어
실용성
- 이미 성공적으로 검증된 해법과 기능을 토대로 설계 됨
- Intellij 아이디어의 개발과 컴파일러의 개발이 맞물려 이뤄져 왔기에, 편리한 개발 환경/도구를 지원
⇒ 도구를 강조
간결성
- 의미 없는 코드 작성을 최소화
⇒ Boilerplate Code가 상당 수 제거
Ex) Getter, Setter, 생성자
- 다양한 표준 라이브러리를 제공함으로써 긴 코드를 라이브러리 함수 호출로 대치 가능
안전성
⇒ 언어가 안전하다는 말은 발생 가능한 오류중에서 일부 유형의 오류를 프로그램 설계가 원천적으로 방지해준다는 뜻. (하지만 안전할수록 부가적인 장치가 필요하므로 생산성은 떨어짐)
- 정적 타입 언어로써의 안전성
- Nullable type 지원
- 타입 검사와 캐스트를 한번에 하므로써
ClassCastException
방지
⇒ is
연산
상호운용성
- 자바와 코틀린 소스 파일 혼용 가능
- 코틀린 소스파일 자바로 100% 변경 가능
- 기존 자바 라이브러리 대부분 그대로 사용 가능