본문 바로가기

kotlin

kotlin의 코드생성 목적과 언어 설계

kotlin의 코드생성 목적과 언어 설계






Kotlin 이란 ? 


Kotlin은 jetbrain에서 만든 언어로 JVM , Android , 브라우저 및 Node js 를 위한 정적 타입의 프로그래밍 언어이며 byte 코드로 컴파일 된다.


정적으로 타입이 지정되므로 java와 같은 동일한 타입 안정성을 갖는다. 정적으로 타입이 지정되므로 IDE에게 무엇이 가능한지 알려줄 수 있어 


자동완성의 기능을 휼륭하게 제공할 수 있다.





Kotlin은 java의 wrapper가 아니다. 



특정한 언어로 구현된 코드는 파싱을 거쳐 추상화트리(AST)와 추가 정보들을 가지는 1차적인 결과물로 처리된다.


이러한 역할을 하는것을 컴파일러의 '전단부(frontend)' 라 하고 이러한 AST 의 결과물은 


대상 머신이나 플랫폼(JVM, DVM , Node js)에 맞게 처리된다.


인터프리터의 경우 AST를 가지고 바로 실행하지만 실행가능한 형태로 실행하는경우라면 컴파일러의 '후단부(backend)'가 이를 수행 한다.


백앤드의 타겟코드는 충분히 다양한 대상을 다룰 수 있으므로 다양한 백앤드 구현을 통해 동일 코드를 멀티 플랫폼을 대상으로 실행 할 수 있도


록 할 수 있는 것이다.


이러한 관점에서 보았을때 Kotlin은 가양한 타겟 플랫폼이 고려되고 있는 하나의 프로그래밍 언어로 이해하는것이 바람직 하다.






참조

https://medium.com/til-kotlin-ko/hey-kotlin-how-it-works-f77ac72e56c5

https://medium.com/til-kotlin-ko/explanation-hey-kotlin-how-it-works-ko-b2a05c80c75d

'kotlin' 카테고리의 다른 글

Any , 타입변환  (0) 2018.12.06
asList와 toList  (0) 2018.12.04
Kotlin의 유용한 함수 - let, apply, run, with  (0) 2018.12.04
constructor와 init  (0) 2018.12.03
var 와 val  (0) 2018.12.03