기존에는 주로 자바를 앱 개발 언어로 사용했지만 2017년 5월 Google I/O 에서 코틀린(Kotlin)을 공식 언어로 채택한 후 코틀린으로 앱을 개발하는 기업이 차츰 늘어나고 있습니다. 자바를 완전히 대체할 수 있는 언어가 되는 것이 코틀린의 주목적이다. 

 

  • 코틀린은 젯브레인 사가 만든 프로그래밍 언어입니다.
  • 코틀린은 자바6와 완벽히 호환됩니다. 이는 분명 장점이지만, 여전히 안드로이드는 자바와 코틀린을 동시에 지원하므로 자바의 형식에 맞춰서 코틀린으로도 개발해야 합니다. 
  • 기본적으로 자바가상기계(Java Virtual Machine, JVM)에서 매끄럽게 동작하는 코드를 만들 수 있게 해줍니다.

* 자바가상기계(JVM): 자바 바이트 코드와 컴퓨터의 운영 시스템 간에 번역기 역할을 하여 자바로 작성된 응용 프로그램을 윈도우나 매킨토시, 유닉스 등에서 사용할 수 있도록 해주는 소프트웨어.

 

  • 코틀린은 정적 타입 지정 언어다. 자바와의 차이점은 코틀린에서 변수 선언 시 모든 변수의 타입을 명시할 필요가 없다는 것이다. 다른말로 컴파일러가 문맥으로 타입을 자동으로 확정하고 검증해 주는겁니다.
val number = 10 // -> == val number:Int = 10


출처: https://tourspace.tistory.com/61 [투덜이의 리얼 블로그]

 

 

 

※ 자바 vs 코틀린

자바: 객체지향형 프로그래밍

코틀린: 객체지향형 + 함수형 프로그래밍
++Java SE 8 버전부터는 람다 표현식을 사용하여 자바에서도 함수형 프로그래밍을 할 수 있게 되었습니다.

 

함수형 언어에서는 함수(Function) 자체가 일급 객체가 되겠지만,

객체지향 언어에서는 클래스(또는 객체, Object)가 일급 객체가 됩니다.

 

절차지향 프로그래밍의 단점을 극복하기 위해서 객체지향 프로그래밍이 등장했다면,

함수형 프로그래밍은 객체지향 프로그래밍의 단점을 극복하기 위해서 등장했습니다.

+ Recent posts