티스토리 뷰

개발

[Android] Kotlin 공부하기

wnsgur0329 2019. 11. 5. 20:31

최근 취업공고를 찾아보았더니, 안드로이드 네이티브 개발 중 Kotlin 개발 가능 혹은 경험자를 찾는 회사가 많이 있다는 것을 알 수 있었다.  예전부터 Kotlin이라는 언어에 대해 궁금증이 있었고 한 번쯤 해보고 싶었는데 이제야 배워본다. 공식 사이트에서 Basic Syntax를 익힐 수 있다.

 

Basic Syntax - Kotlin Programming Language

 

kotlinlang.org

 

 

 

코틀린은 세미콜론을 사용하지 않으며, 정적 언어이다. 그리고 Java와 완벽한 호환성을 보여준다.

 

// Kotlin
val str1 = "str1"
var str2 = "str2"
var str3: String
var str4: String? = null

// Java
final String str1 = "str1";
String str2 = "str2";
String str3;
String str4 = null;

val는 immutable한 변수(Java의 경우 fianl)이고 var는 mutable한 변수(Java의 경우 일반 변수)이다. Kotlin의 변수는 기본적으로 타입 추론을 할 수 있기에 값을 초기화해주면 자료형을 알려줄 필요가 없지만, 만약 바로 초기화를 하지 않을 변수라면 str3, str4와 같이 변수명: 자료형을 적어주어야 한다. 또, null값이 들어가야 할 경우에는 자료형 뒤에 '?'를 추가해주어야만 한다.

 

// Kotlin
fun main(): Unit{ // Unit은 생략 가능. Java의 void와 비슷함.
	println("hello world!")
}

fun add(a: Int, b: Int): Int{
	return a+b
}

// Java
public void main(){
	System.out.println("hello world!");
}

public int main(int a, int b){
	return a + b;
}

Kotlin에서는 함수를 선언할 때, 접근 제한자 fun 함수이름(매개변수): 반환형 {} 으로 작성하면 된다. 접근 제한자 중 Public은 default라서 생략이 가능하다. main함수를 보면 'hello world'를 출력하는 방법에 차이가 있는데, Kotlin에서는 println() 혹은 print() 만으로 출력이 가능하다.

 

Python과 TypeScript를 사용해봐서 그런지 언어의 특성들이 낯설지 않았다. 꾸준히해서 이 달 안에 Kotlin으로 앱을 하나 만들어볼 계획이다.

'개발' 카테고리의 다른 글

[React] React CRUD 구현  (0) 2019.09.23
[React] React 공부하기  (0) 2019.09.21
[Npm] npm install 실수  (0) 2019.09.04
[TypeScript] TypeScript 맛보기  (0) 2019.08.30
[Python] Pyqt5 QLabel Clickable 설정하기  (2) 2019.06.20
댓글
공지사항