No img

변수 선언


코틀린에서 변수는 val이나 var 키워드를 사용해 명시적으로 선언한다.

val(혹은 var) 변수명: 타입 = 값

val은 Assign-once 변수로 한 번 초기화하면 더는 변경할 수 없고, var은 Mutable 변수로 언제든지 변경가능하다.

 

사용 예시

val data1: int = 10
val data2 = 20
var data3 = 30

-> 타입추론: 2번, 3번 문장처럼 데이터 타입을 명시하지 않으면 대입하는 초깃값에 따라 적절한 타입으로 적용된다.

 

함수 선언


코틀린에서 함수를 선언할 때 fun 이라는 키워드를 사용하며 Parameter의 이름을 먼저 명시한 뒤 콜론(:) 뒤에 타입을 명시한다.

fun 함수이름(data1: 타입, data2: 타입): 타입{
	내용
}

 

사용 예시

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

-> 식이 본문인 함수: 본문 블럭이 식 하나로만 이루어진 함수

아래와 같이 간결하게 표현 가능하다.

fun add(a:Int, b:Int): Int = a+b
fun add(a:Int, b:Int) = a + b

 

 

+) Unit과 Nothing


Unit

함수의 반환 구문이 없다는 것을 표현하기 위해 사용된다.

fun func1() {}
fun func2(): Unit {}

func1은 return 구문이 없다. 또한 함수 반환 타입 명시하지 않을 경우 기본으로 Unit 선업과 동일시 된다.

 

Nothing

의미 있는 데이터가 없다는 것을 명시적으로 선언하기 위해 사용된다.

fun func1(arg:Nothing?): Nothing{
	throw Exception()
}

 

 

참고 자료


https://kkangsnote.tistory.com/63?category=792064

https://manorgass.tistory.com/71

http://tech.javacafe.io/2018/10/14/%EC%BD%94%ED%8B%80%EB%A6%B0%EC%8A%A4%ED%84%B0%EB%94%94_3%EC%9E%A5_%EC%A0%95%EB%A6%AC/

https://kkangsnote.tistory.com/64?category=792064