안드로이드에서 코틀린을 공식언어로 지정해버렸죠.
자바에서 코틀린으로 완전히 넘어갈지 아닐지 그건 알수 없지만 현재로써는 코틀린도 공부해 둘 수 밖에 없겠습니다. 코틀린은 안드로이드 스튜디오의 뼈대인 intelliJ 를 만든 jetbrain 사에서 만들어 배포하고 있습니다. 구글에서 전폭적인 지지를 아끼지 않네요. 나온지는 꽤 되어서 이미 많은 앱에서 쓰이고 있습니다. 코틀린은 환경은 자바와 100% 호환이 된다고 합니다. 그들말로는... 이말은 즉 섞어서 쓸수 있다. 정도로 풀이 됩니다. 코틀린을 적용하더라도 기존의 자바라이브러리와 소스를 버리지 않아도 된다는 말이죠. 이 상황은 마치.. 아이폰 진영의 object C 와 swift를 짬뽕하는 코드를 보는것 같네요.
* kotlin 공식사이트의 basic syntax 파트를 참고하여 작성하였습니다.
자. 코틀린의 기본 문법을 확인해보겠습니다.
1. 메서드(펑션) 구조
자바의 메서드는 코틀린에서 아래와 같이 펑션 으로 쓰입니다.
1
2
3
|
fun sum(a: Int, b: Int): Int {
return a + b
}
|
cs |
이건 마치... object-c나 swift 와 비슷하네요.a:Int -> a라는 이름의 파라미터값과 : 뒤는 타입()을 말합니다. 또는 요딴식으로도 쓸수가 있습니다.
1
|
fun sum(a: Int, b: Int) = a + b
|
cs |
자바만 보다가 이걸보면 응?? 잠깐 멍때리게 됩니다. 계속 보시면 익숙해질테니...걱정마세요~!
2. 변수의 선언
마치 자바스크립트에서 보던것 같기도 합니다.
1
2
3
4
5
6
7
8
9
|
val a: Int = 1 // a라는 변수에 Int 타입으로 1을 즉시 대입합니다.
val b = 2 // 코틀린의 경우 타입을 넣지 않아도 자동으로 추론합니다.
val c: Int // 자바도 그렇듯 즉시 대입하지 않아도 됩니다.
c = 3 // 나중에 바인딩이 가능하죠.
|
cs |
1
2
3
4
5
6
7
8
9
10
11
|
val PI = 3.14
var x = 0
fun incrementX() {
x += 1
}
|
cs |
var과 val을 집고 넣어가야할것 같네요.둘은 비슷하지만 다릅니다.
var 은 말그대로 변수를 가르키며 변하는 값을 선언할때 씁니다.
val 은 변치않는 수를 선언할때 쓰입니다.(상수)
3. 주석의 사용
1
2
3
4
5
6
7
|
// This is an end-of-line comment
/ * This is a block comment
on multiple lines. */
|
cs |
주석의 경우는 자바와 타 언어에서 쓰던것과 동일합니다.
4. 문자의 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
var a = 1
// simple name in template:
val s1 = "a is $a"
a = 2
// arbitrary expression in template:
val s2 = "${s1.replace("is", "was")}, but now is $a"
|
cs |
자 여기서 이상한게 하나 보입니다. $a ???
이것은 " " 안에서 대입할때 쓰입니다. ${s1.replace("is", "was")} 이건또 뭘까요??? 때려맞춰봅시다. 네. 맞습니다.
" " 문자선언 안에서 특정 펑션을 사용하게 된다면 사용할수 있습니다.
계속 보다보니 스위프트랑 굉장히 비슷한 문법이 많이 있네요. 언어도 트랜디한 스타일을 따르는 경향이 있나 봅니다. 오늘은 여기까기 공부하기로 하죠^^
한번에 너무 많이하면 건강에 좋지 않습니다...
다음편에서 더 공부해 보시죠^^
'개발 코딩 정보 공유 > 안드로이드 자바 코틀린' 카테고리의 다른 글
코틀린 기초 공부 해보기 3 (0) | 2018.09.16 |
---|---|
코틀린 기초 공부해보기 2 (0) | 2018.09.16 |
안드로이드 프래그먼트 라이프 사이클(생명주기) 알고 쓰기~!! (0) | 2018.09.10 |
안드로이드 웹뷰 기초 ~ 알아보기 (0) | 2018.09.01 |
안드로이드 액티비티 라이프 사이클 알아보기 (0) | 2018.09.01 |