관리 메뉴

Bbaktaeho

Kotlin(코틀린) 3. 기본 구성 요소와 문법 본문

프로그래밍 (Programming)/코틀린 (Kotlin)

Kotlin(코틀린) 3. 기본 구성 요소와 문법

Bbaktaeho 2019. 1. 24. 10:24
반응형

이제 예제 코드를 보며 설명하겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
fun main(args: Array<String>) {
    println(msg1(1))
    println(msg1(2))
    println(msg2(1))
    println(msg2(2))
}
 
fun msg1(msgNum : Int) : String{
    return if (msgNum == 1"안녕하세요" else "안녕히가세요"
 
}
fun msg2(msgNum: Int) = if (msgNum == 1"안녕" else "잘가"
cs

(if-else 문은 알고 있을 거라 믿겠습니당ㅎㅎ..)

우선 코틀린에서는 함수를 선언할 때 fun 키워드를 함수 이름 앞에 넣는다. 그리고 함수는 소스코드 파일의 어디는 바로 정의할 수 있다. 그래서 main()에서 msg1(),msg2()를 호출할 수 있다.

함수의 매개변수를 보면 (:)콜론이 있는데 : 앞은 변수의 이름이고 뒤는 변수의 타입이다.

함수의 리턴 타입도 마찬가지로 : 의 뒤쪽이다.

그리고 코틀린은 배열이 Array클래스로 정의되어 있어서 main(args : Array<String>) 에서 Array<String>은 String형의 배열을 나타낸다. 또한 코틀린에서 (;)세미콜론은 생략해도 된다.

단, 두 개 이상의 표현식이 한 줄에 같이 있을 때는 세미콜론을 붙여야 한다.

1
2
3
fun main(args: Array<String>) {
    println(msg1(1));println(msg1(2));println(msg2(1));println(msg2(2))
}
cs

함수의 실행 코드가 하나의 표현식으로만 구성될 때는 몸체를 나타내는 중괄호({})와 반환값 타입을 생략하고 다음과 같이 대입문 형태로 선언할 수 있다.

1
fun msg2(msgNum: Int) = if (msgNum == 1"안녕" else "잘가"
cs

여기서는 if 문이 하나의 표현식으로 수행되고 그 결과는 String 타입이다. 리턴타입을 명시하지 않아도 컴파일러가 추론해준다.

또한, if문은 다음과 같이 변수를 초기화하는 대 입문에도 사용할 수 있다.

1
2
var number = 0
val a = if (number == 0"0" else "0이 아닌 수"
cs

여기서 var, val 를 간단하게 집고 넘어가면 var은 variable, val은 value 라고 생각하면 됩니다.

number 변수는 변할 수 있는 변수이고 a 변수는 초깃값이 변하지 않은 상수를 나타냅니다.


반응형