코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다. 코틀린은 간결하고 실용적이며, 자바 코드와의 상호운용성(interoperability)을 중시한다. 코틀린의 주목적은 현재 자바가 사용되는 모든 용도에서 적합하면서도 간결하고 생산적이며 안전한 대체 언어를 제공하는 것이다.
/**
* '데이터' 클래스 Person
* 읽기전용 파라미터 name, age(null을 허용)
**/
data class Person(val name: String,
val age: Int? = null)
// 최상위 함수 main
fun main(args: Array<String>) {
//Person 객체 리스트 변수
//Person의 두번째 파라미터인 age는 값을 넣어도 되고 안넣어도 된다.
//또한 age라는 이름을 명시해서 age=29라는 코드를 작성해도 된다.
val persons = listOf(Person("Alice"),
Person("Bob", age = 29))
//람다식과 엘비스연산자(?:)
//나이가 가장 많은 사람을 구하되 age가 없으면(null이면) 0으로 둔다.
val oldest = persons.maxBy { it.age ?: 0 }
//문자열 템플릿 "" <- 안에 $oldest라는 변수를 사용할 수 있다.
println("The oldest is: $oldest")
}
자바를 사용해본 사람이면 굉장히 짧아졌다라는 것을 느낄 수 있다!
이 모든 것을 함수형 프로그래밍을 지원하는 코틀린에서 누릴 수 있다!
개발자는 코드를 새로 작성하는 시간보다 기존 코드를 읽는 시간이 더 오래 걸린다(사실임..)
코드가 더 간단하고 간결할수록 내용을 파악하기가 더 쉽다.
코틀린 설계자들은..
(등등 앞으로 더 감동받을 만한 것들이 많이 나온다🌝)
프로그래밍 언어가 안전하다는 말은 프로그램에서 발생할 수 있는 오류를 프로그램 설계가 원천적으로 방지해준다는 뜻이다. 그 어떤 언어도 모든 오류를 다 막을 수는 없지만 코틀린은 자바보다 더 높은 안전성을 달성하되 더 적은 리소스를 지불하도록 설계했다.
많은 자바개발자들이 원하는 "기존 라이브러리를 사용할 수 있는가" -> Yes이다.
자바와 아무런 제약 없이 통합될 수 있는 언어를 맞추는데 초점을 맞췄다는 뜻이다.