이 글은 커니의 안드로이드 책을 읽고 정리한 내용입니다.
1. 코틀린이란?
코틀린이란 JetBrains에서 만든 프로그래밍 언어로, 2017년 안드로이드 공식 지원 언어로 채택되었습니다.
기존에 안드로이드 개발을 위해 사용되던 자바에 비해 간결한 문법과 높은 안정성을 가지고 있는것이 주요 특징입니다.
2. 코틀린의 특징
- 코틀린은 문장 끝에 세미콜론이 필수로 들어가지 않아도 됩니다.
- 자바와 달리 new 키워드를 통해 객체를 생성하지 않아도 됩니다.
- 변수가 명확한 타입을 가지고 선언되지 않습니다.(타입 추론 가능)
- 변수 선언 시 null값에 대한 선언을 명확히 해줘야합니다. 이로 인해 안정성이 증가합니다.
- var, val 두가지 키워드를 사용해 값의 불변 여부를 명확히 합니다. val의 경우 자바의 final 변수와 동일하게 취급됩니다.
- 람다 표현식을 지원합니다. 인터페이스의 인스턴스를 람다식으로 표현할 수 있어 기존 자바보다 더욱 간결하게 코드를 구현할 수 있습니다.
- 자바와 완벽하게 호환되므로 기존에 자바로 코드를 짰더라도 원하는 부분에 선택적으로 코틀린 활용이 가능합니다!
3. 자바 코드와 코틀린 코드의 비교
변수 선언
1 2 3 4 5 6 7 | //Java의 변수 선언 String str = "String"; Class class = new Class(str); //Kotlin의 변수 선언 val str = "String" val class = Class(str) | cs |
선언 이후 초기화
1 2 3 4 5 6 7 | //Java의 선언 이후 초기화 String str; str = "string" //Kotlin의 선언 이후 초기화 var str: String str = "string" |
함수 선언
1 2 3 4 5 6 7 8 9 | //자바의 함수 선언 public void function(String str) { System.out.println(str); } //코틀린의 함수 선언 fun function(str: String) { println(str) } | cs |
조건문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | //자바의 조건문 public int max(int a, int b) { if(a>b) { return a; } else { return b; } } //코틀린의 조건문(더욱 간결하게도 표시할 수 있습니다.) fun max(a: Int, b: Int) { if(a > b) { return a } else { return b } } | cs |