본문 바로가기

개발 코딩 정보 공유/안드로이드 자바 코틀린

코틀린 기초 같이 공부하기 1

 

 안드로이드에서 코틀린을 공식언어로 지정해버렸죠. 

자바에서 코틀린으로 완전히 넘어갈지 아닐지 그건 알수 없지만 현재로써는 코틀린도 공부해 둘 수 밖에 없겠습니다. 코틀린은 안드로이드 스튜디오의 뼈대인 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  // 자바도 그렇듯 즉시 대입하지 않아도 됩니다.
 
= 3       // 나중에 바인딩이 가능하죠.
 
 
cs

  

1
2
3
4
5
6
7
8
9
10
11
val PI = 3.14
 
var x = 0
 
 
 
fun incrementX() {
 
+= 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"
 
 
= 2
 
// arbitrary expression in template:
 
val s2 = "${s1.replace("is", "was")}, but now is $a"
 
 
cs



 

자 여기서 이상한게 하나 보입니다. $a ???

이것은 " " 안에서 대입할때 쓰입니다. ${s1.replace("is", "was")} 이건또 뭘까요??? 때려맞춰봅시다. 네. 맞습니다.

" " 문자선언 안에서 특정 펑션을 사용하게 된다면 사용할수 있습니다.

 계속 보다보니 스위프트랑 굉장히 비슷한 문법이 많이 있네요. 언어도 트랜디한 스타일을 따르는 경향이 있나 봅니다. 오늘은 여기까기 공부하기로 하죠^^ 

한번에 너무 많이하면 건강에 좋지 않습니다...

다음편에서 더 공부해 보시죠^^