Hello world

Hello world

"Hello, world!"를 출력하는 간단한 프로그램이에요:

fun main() {
    println("Hello, world!")
    // Hello, world!
}

Kotlin에서는 이렇게 작동해요:

  • fun은 함수를 선언할 때 사용해요.
  • main() 함수는 프로그램이 시작되는 지점이에요.
  • 함수의 본문(body)은 중괄호 {} 안에 작성해요.
  • println()print() 함수는 인자를 표준 출력(standard output)으로 출력해요.

함수(function)는 특정 작업을 수행하는 명령어의 묶음이에요. 함수를 한 번 만들어 두면 그 작업이 필요할 때마다 명령어를 처음부터 다시 쓰지 않고 함수를 사용할 수 있어요. 함수에 대한 자세한 설명은 몇 장 뒤에서 다룰게요. 그때까지는 모든 예시가 main() 함수를 사용할 거예요.

출처: Kotlin 공식 문서

본문

변수 (Variables)

모든 프로그램은 데이터를 저장할 수 있어야 해요. 변수(variable)가 바로 그 역할을 해요. Kotlin에서는 다음과 같이 선언할 수 있어요:

  • val로 읽기 전용(read-only) 변수를 선언해요.
  • var로 변경 가능(mutable)한 변수를 선언해요.

Note: 한 번 값을 준 읽기 전용 변수는 값을 바꿀 수 없어요.

값을 할당하려면 대입 연산자(assignment operator) =를 사용해요.

예를 들어:

fun main() { 
//sampleStart
    val popcorn = 5    // There are 5 boxes of popcorn
    val hotdog = 7     // There are 7 hotdogs
    var customers = 10 // There are 10 customers in the queue
    
    // Some customers leave the queue
    customers = 8
    println(customers)
    // 8
//sampleEnd
}

Tip: 변수는 main() 함수 밖, 프로그램의 맨 앞에서도 선언할 수 있어요. 이렇게 선언한 변수를 최상위(top-level)에 선언됐다고 말해요.

customers는 변경 가능한 변수라서 선언한 뒤에도 값을 다시 할당할 수 있어요.

Note: 기본적으로는 모든 변수를 읽기 전용(val)으로 선언할 것을 권장해요. 정말 필요할 때만 변경 가능한 변수(var)를 사용하세요. 그래야 원래 바뀌면 안 되는 값을 실수로 바꿀 가능성이 줄어들어요.

문자열 템플릿 (String templates)

변수의 내용을 표준 출력으로 출력하는 방법을 아는 건 유용해요. 문자열 템플릿(string template)으로 이 작업을 할 수 있어요. 템플릿 표현식을 써서 변수나 다른 객체에 저장된 데이터에 접근하고, 그것을 문자열로 변환할 수 있어요. 문자열 값은 큰따옴표 " 안에 문자의 연속으로 이뤄져요. 템플릿 표현식은 항상 달러 기호 $로 시작해요.

템플릿 표현식 안에서 코드를 평가하려면 달러 기호 $ 뒤 중괄호 {} 안에 코드를 넣어요.

예를 들어:

fun main() { 
//sampleStart
    val customers = 10
    println("There are $customers customers")
    // There are 10 customers
    
    println("There are ${customers + 1} customers")
    // There are 11 customers
//sampleEnd
}

자세한 내용은 String templates 문서를 참고하세요.

변수에 타입을 선언하지 않은 걸 눈치채셨을 거예요. Kotlin이 타입을 스스로 추론했어요: Int 타입이죠. 이 투어의 다음 장에서 다양한 Kotlin 기본 타입과 그 선언 방법을 설명할게요.

연습 (Practice)

연습 문제 (Exercise)

프로그램이 표준 출력으로 "Mary is 20 years old"를 출력하도록 코드를 완성하세요:

fun main() {
    val name = "Mary"
    val age = 20
    // Write your code here
}
fun main() {
    val name = "Mary"
    val age = 20
    println("$name is $age years old")
}