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")
}