본문 바로가기
Android/Kotlin

[Intro] 안드로이드 공식언어?

by 일상 속 둔치 2018. 12. 25.

[그림 1] 코틀린 로고


 구글은 안드로이드 공식 개발 언어로 코틀린을 구글 I/O 2017 키노트 지정했다. 코틀린은 현재 자바스크립트와 안드로이드 개발을 지원하고 있지만 다른 플랫폼에서도 사용할 수 있도록 Kotlin/Native 언어도 현재 개발 중이다. 필자는 안드로이드 개발을 목적으로 코틀린을 공부하고 있다. 기존까지는 안드로이드는 자바로 개발되었는 데 자바에서 어떤점이 달라졌는 지, 어떠한 장점들이 있는지 알아보자.


코틀린의 장점

1. 코드가 더 간결해진다.

 코틀린은 C의 구조체와 같이 데이터를 위한 클래스 키워드가 존재한다. 이 키워드를 사용하면 내부적으로 set()/get() 함수를 정의해준다.


Java

public class Person(){
    private String name;
    private int age;

    pubilc String getName(){
        return name;
    }

    pubilc String getName(){
        return name;
    }

    pubilc String getName(){
        return name;
    }

    pubilc String getName(){
        return name;
    }
}


Kotlin

data class Person(var name:String, var age:Int)


2. null point exception을 방지할 수 있다.

 변수를 선언할 때 null이 될 가능성이 있는 변수임을 선운해주도록 하여 컴파일 타임에 변수에 대한 null 처리를 하도록 경고한다.


3. 함수형 언어의 장점들을 도입하였다.

 코틀린은 기본적으로 객체지향언어지만 함수형 언어의 장점들도 도입하였는 데 대표적으로 람다(Lamda)이다. 예를 들어 안드로이드에서 버튼을 클릭하는 이벤트를 처리하는 onClick 함수를 선언할 때 선언부를 생략할 수 있다.

Java

Button btn = new Button(this);
btn.setOnClickListener(new View.onClickListener(){
    public void onClick(View view){
    }
});


Kotlin

val button = Button(this)
button.setOnClickListener {
}


4. 상속 받지 않고도 클래스 확장이 가능하다.

 기존의 클래스를 상속하여 새로운 클래스를 만들지 않고 프로그램 안에서 확장하여 필요한 함수를 추가하여 구현할 수 있다.


5. 기본 자바 코드들과 호환이 가능하다.

 기존의 자바 프로젝트들과 호환이 가능하다. 반대로 코틀린으로 프로젝트를 진행하더라도 자바 프로그램이나 라이브러리들을 사용가능하다. 코틀린도 JVM에서 실행되도록 컴파일 되기 때문이다.




사진 출처


˙ [그림 1]

https://ko.wikipedia.org/wiki/코틀린_(프로그래밍_언어)

'Android > Kotlin' 카테고리의 다른 글

[Kotlin/Java] instanceof를 지양하자  (0) 2023.05.05
3. 반복문, 조건문  (0) 2018.12.31
2. 함수  (0) 2018.12.31
1. 클래스  (0) 2018.12.25

댓글