[kotlin] kotlin 시작하기

2018. 6. 13. 16:19kotlin-이론

kotlin 시작하기



필자는 자바를 통해 안드로이드 어플을 만들어본 경험이 몇번있다. 하지만 몇 년전 부터 저작권 문제 때문에 자바를 안드로이드에 사용하지 못할 수 도 있다는 소식도 있었고 요즘 파이썬만 사용하다 보니 자바를 하기 싫어진 점이 생겼다....... 그래서 kotlin을 한번 공부해봐야지 해봐야지 하다가 선거 알바가 끝나고 시작해보려고 한다. 


kotlin홈페이지에 처음 들어가보면  


이러한 문구가 눈에 띈다. 


해석해보면 멀티 플랫폼 어플리캐이션을 위한 정적인 프로그래밍 언어이다. 안드로이드 뿐만 아니라 이곳 저곳에 사용가능 하다는 것 같다. 


홈페이지를 보면 jvm, 안드로이드, 자바스크립트, native app을 개발하는데에도 사용할 수 있다. 


홈페이지에 왜 코틀린을 사용해야하는가?? 강조해 놓은 부분이 있다. 


1. 간결한 문법

첫코드와 같이 setter, getter, equals등등 자바에서 우리가 직접 구현했던 함수를 한줄로 사용 가능하다. 


람다 표현식을 편하게 사용할 수 있다. 


안드로이드에 싱글톤을 많이 사용하는데 싱글톤 클래스를 따로 만들 필요 없이 언어 자체에 싱글톤 함수가 있다. 


2. 좀더 안전성있는 프로그래밍 



필자는 해커톤 대회에서 나의 무식함 때문에 nullpointExepction을 발견하지 못했고 결국 해결하지 못했다. 그래서 코틀린에서 null 오류와 관련된 기능을 제공해주는 것은 다행스럽다. 


코드를 보면 변수 선언할때 ?가 보인다. 이는 이 변수에 null 들어갈 수 도있고 지정한 데이터 형이 들어갈 수도 있다는 뜻이다. 실제로 바로 사용하면 오류가 발생하고 if문을 통해서 구별한 뒤 사용해야한다. 


세번째 코드는 obj:Any라도 되어 있는데 Any는 거의 최상위 클래스를 뜻한다. if문의 obj is Invoice 코드에서  obj는 자동적으로 Invoice로 변형이 된다. 


3.자바, 자바스크립트에서 100% 상호 운용가능하다. 


자바의 코드를 빼와서 코틀린에서 사용가능하고 자바도 마찬가지다. 그리고 코틀린으로 자바스크립트 코드도 만들 수 있고 실행 시킬 수 있다.

'kotlin-이론' 카테고리의 다른 글

[kotlin]Class  (0) 2018.06.15
[kotlin]Return and Jumps (break 문, continue 문, return 문)  (0) 2018.06.15
[kotlin]코틀린 controlFlow  (0) 2018.06.15
[kotlin]코틀린 BasicType  (0) 2018.06.14
[kotlin] kotlin Basic Syntax java와 비교  (0) 2018.06.13