Kotlin의 특징 - 첫번째 -

안녕하세요 명동콜링입니다.

요즘 새로운 언어를 배우는 초보자의 시선으로 돌아가 Kotlin 개발에 관한 포스팅을 하고 있는데 조금 더 나은 발전을 위해 Kotlin에 대한 내용들을 연재해 보려고 합니다.

Kotlin은 최근은 아니지만,  2017년 여름 Google I/O 2017에 Android의 공식언어로 선포가 되었습니다. 생긴건 Swift랑 비슷한 함수형 프로그래밍 언어지만, Swift는 iOS 전용인 것과 달리 Kotlin은 Web과 App을 어우르는 큰 바운더리를 가지고 있는 언어라고 합니다.

공식인데다 Kotlin을 만든 곳이 Android Studio를 만든 회사인 InteliJ이기 때문에 라이브러리 이식도 빠르게 대응되서 지금은 Kotlin과 Java와 함께 개발을 할 수 있도록 되어 있습니다.

이제 Kotlin으로 개발을 해야할 때의 특징이나 제가 겪었던 어려움에 대보며 이야기를 풀어보겠습니다.

1. 변수 선언
 저는 Swift 기반 개발을 해봤기 때문에 다소 친숙한 변수 선언이지만, 완전 처음 접하는 분들에게는 초장부터 헷깔리는 부분이라고 말씀드릴 수 있습니다.

 먼저 String 타입의 변수를 선언한 형태를 보겠습니다.

 - Java
  private String var1;

 - Kotlin
  private var var1 : String? = null;

 일반적인 Java에서는 (물론 초기화를 해야되지만), 초기화를 하지 않아도 프로그램이 잘 굴러가는 반면에 Kotlin은 무조건적으로 null값을 입력해야만 합니다. 엄격한 Null 관리로 인해 변수는 null을 가질 수 있는 Nullable 객체이거나 Object값을 가지고 있거나 둘 중 하나의 상태를 가지고 있어야 합니다.

Nullable 객체의 표기는 해당 변수의 타입을 정해줄 때, 끝에 "?"를 붙여주면 되겠습니다. 타입과 같이 써본다면 "Int?", "String?, "Object?" 등 표시를 할 수가 있겠습니다.

2. Null coalescing
 Null coalescing은 요즘 여러 언어들에서 새로 나오고 있는 개념으로, 어떠한 객체가 Null 값인 경우에 Default 값을 정해주거나 할 때 사용하는 기법입니다. 더 쉽게보면
if(object == null)
    object = "it"

이런 식의 null처리를 하나의 연산식 형태로 줄여 주었습니다.
가장 대표적으로 이 방식을 사용하는 언어가 Javascript인데 Javascript에서는 다음과 같은 방식으로 Null Coalescing을 지원하고 있죠.

var str = object || "default";

object가 null이거나하면 "default"값이 str에 배정되며, || 을 통해 간단하게 if문을 줄여 주었습니다.

Kotlin에서는 "||"과 같은 연산을 "?:" 으로 처리하게 되며, Javascript와 같은 방식으로

var str = object ?: "default"

의 방식으로 처리해 주시면 되겠습니다



댓글

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

카드뉴스 마케팅 팁

[iOS 강좌] 오픈소스로 쉽게 카메라 앱 만들기 - 1부(cocospods)

[정보] Git을 이용한 형상관리 #1 - Git의 세가지 상태, Git 설치

[AWS] Amazon Polly 한국어 서비스 지원