NOTE: 함수형 프로그래밍 핵심 개념은 아래와 같이 3가지 이다.
- first class 함수
- 함수를 변수에 저장할 수 있다.
- 어떤 함수가 다른 함수를 파라미터로 받거나 함수가 새로운 함수를 반환할 수 있다.
pure function
을 사용한다.실용성
간결성
안정성
NullPointerException
방지
val s: String? = null // null이 될 수 있음
val s2: String = "" // null이 될 수 없음
ClassCastException
방지if (value is String) // Type을 검사한다.
println(value.toUpperCase()) // 별도의 Cast없이 해당 타입 메서드 사용 가능
# -include-runtime: 코틀린 런타임 라이브러리 포함시키는 옵션
kotlinc main.kt -include-runtime -d ${MODULE_NAME}.jar