개발자 승학

코틀린 시작하기 본문

it/코틀린(Kotlin)

코틀린 시작하기

유승학 2018. 5. 28. 16:42

Kotlin이란?


Kotlin은 JVM, Android, 브라우저를 위한 정적 타입의 프로래밍 언어입니다.

여기에 대해서 좀 더 자세히 설명하겠습니다.


정적으로 타입이 지정되므로 Java와 같은 동일한 타입 안정선을 갖습니다. 따라서 자동 완성 기능을 훌륭하게 제공할 수 있습니다.

정적으로 타입이 지정되므로 IDE에게 무엇이 가능한지 알려줄 수 있습니다.


코틀린의 특징


코트린에 대해서 자세히 알아보기 전에, 코틀린과 자바에는 어떤 차이점이 있으며 어떤 점에서 코틀린이 더 나은지 간단하게 알아봅시다.


1) 간결한 문법

코틀린 문법은 자바에 비해서 더 간결한 형태를 추구합니다. 주요 차이점은 다음과 같습니다

  • 문장 끝에 세미콜론(;)을 넣지 않아도 된다.
  • new 키워드를 쓰지 않고 개체를 생성한다.
  • 타입 추론을 지원하므로 일반적인 경우 타입을 적지 않아도 된다.


코틀린의 특징 자바와 비교 하는 예제

[java]

String name = "Java";


Person person = new Person(name);

[kotlin]

val name = "kotlin"


val person = Person(name)



2) Null 안정성

Kotlin의 가장 큰 장점 중 하나는 null 안정성입니다.

변수에 물음표를 붙이면 nullable이 됩니다.


//널 값을 허용하는 문자열 타입

var myName: String? = null

//널 값을 허용하지 않는 문자열 타입

var myName: String = "kotlin"


두 코드가 있습니다. 첫 번째 코드를 보시면 문자열 다음에 ?(물음표)가 붙습니다. 물음표는 nullable을 뜻합니다.


3) 람다 표현식 지원

람다(lambda) 표현식은 대부분의 현대 언어에서 지원하는 기능이지만, 안드로이드에서는 개발 환경의 제약으로 람다 표현식 사용이 어려웠습니다.

코틀린에서는 람다 표현식을 기본으로 지원하므로 특별한 제약 없이 코드를 더 간소화 할 수 있습니다.


코틀린의 주요 문법


1) 값 및 변수 선언


  • val a: String = "kotlin"    // String 타입을 갖는 값 a 선언.
  • val b = "kotlin"    //할당하는 자료의 타입을 추론함.    
  • val c: String    // 선언 시 데이터를 할당하지 않으면 타입을 붙여야 한다.
  • c = "kotlin"    // 데이터 할당
  • var d: Int = 0    // 변수 d선언
  • d += 1    // 값 변경


2) 함수 선언

함수의 반환 타입을 뒤에 적습니다.


fun person(name: String) : Unit {

print("Hello, $name!")

}


fun sum(a: Int, b: Int) : Int{

return a + b

|


위 person함수에 반환형은 Unit입니다. Unit은 자바의 void와 유사하게 사용됩니다.

또한, 생략가능 합니다.


fun person(name: String){

print("Hello, $name!")

}



3) 조건문

if-else 문은 자바와 사용 방법이 똑같습니다.


fun max(a: Int, b: Int) : Int{

if(a > b) {

return a

} else {

return b

}

}


4) 반복분

자바와 달리 코틀린은 for문을 지원하지 않습니다. 대신 for-each문을 지원합니다.


val fruits = listof("apple","banana","pineapple")

for (fruit in fruits){

print("fruit: $fruits")

}


while문은 자바와 동일합니다.


val fruits = listof("apple","banana","pineapple")

var count = 0

while(i < fruits .size) {

print("fruit: $fruits")

count++

}


'it > 코틀린(Kotlin)' 카테고리의 다른 글

코틀린 버튼클릭 이벤트  (1) 2018.05.29
Comments