시스템아 미안해
Variables 본문
Kotlin에서 변수를 선언하는 방식은 간단하다.
변수는 항상 val 또는 var로 시작하고, 그 뒤에 변수 이름과 초기값을 작성한다.
fun main() {
val a = 10
var b = "ABC"
}
이 구조가 Kotlin 변수 선언의 기본 형태다.
val과 var의 차이
Kotlin에는 두 가지 변수 선언 키워드가 있다.
var
var는 variable의 약자로,
값을 다시 할당할 수 있는 변수를 의미한다.
var b = "ABC"
b = "CDE"
초기화 이후에도 새로운 값을 대입할 수 있다.
val
val은 value의 약자로,
초기화 이후 값을 다시 할당할 수 없는 변수를 의미한다.
val a = 10
// a = 12 // 컴파일되지 않음
val로 선언된 변수는 한 번 값이 정해지면 변경할 수 없다.
예제
fun main() {
val a = 10
var b = "ABC"
println(a) // 10
println(b) // ABC
b = "CDE"
println(b) // CDE
}
변수 이름 규칙
Kotlin 변수 이름에는 다음을 사용할 수 있다.
- 문자
- 언더스코어 _
- 숫자 (단, 첫 글자로는 사용할 수 없음)
관례적으로 변수 이름은 camelCase를 사용한다.
즉, 소문자로 시작하고, 여러 단어로 이루어진 경우 각 단어의 시작을 대문자로 작성한다.
타입 추론
Kotlin에서 변수를 선언할 때 타입을 명시하지 않아도 된다.
val a = 10
var b = "ABC"
그렇다고 Kotlin이 타입이 없는 언어는 아니다.
Kotlin은 정적 타입 언어이며,
변수의 타입은 초기값을 기준으로 자동 추론된다.
위 코드에서:
- a는 Int
- b는 String
으로 추론된다.
타입을 명시적으로 지정하기
필요한 경우 변수 이름 뒤에 :와 타입을 붙여
타입을 명시적으로 선언할 수 있다.
fun main() {
val a: Int = 10
var b: String = "ABC"
}
선언과 초기화
변수 선언과 초기화를 분리하는 것도 가능하다.
fun main() {
val a: Int
a = 10
println(a)
}
이 경우 Kotlin은
값이 할당되기 전에는 변수를 사용할 수 없도록 보장한다.
다만, 책에서는 가능하다면 변수는 선언과 동시에 초기화하는 것을 권장한다.
변수에 대입할 수 있는 값
Kotlin에서 = 오른쪽에는
**값을 반환하는 모든 표현식(expression)**이 올 수 있다.
책에서 언급하는 대표적인 경우는 다음과 같다.
- 기본 타입 리터럴 (10, "ABC" 등)
- 조건문 표현식 (if, when, try-catch)
- 생성자 호출
- 함수 호출
- 객체 표현식(object expression) 또는 객체 선언(object declaration)
- 함수 리터럴(람다, 익명 함수, 함수 참조)
- 요소 참조(element reference)
이 장에서는 이후 내용을 다루기 전에,
먼저 기본 타입 리터럴부터 살펴본다.
마무리
Variables 챕터에서 다룬 내용은 다음으로 정리할 수 있다.
- Kotlin 변수는 val 또는 var로 선언한다
- val은 재할당 불가, var는 재할당 가능
- Kotlin은 정적 타입 언어이며 타입을 자동으로 추론한다
- 타입은 필요할 경우 명시할 수 있다
- 변수는 가능하면 선언과 동시에 초기화한다
- 변수에는 값을 반환하는 표현식을 대입할 수 있다
'책 > Kotlin Essentials' 카테고리의 다른 글
| The power of the for loop (0) | 2026.01.11 |
|---|---|
| Functions (0) | 2026.01.11 |
| Conditional statements: if, when, try, and while (1) | 2026.01.10 |
| Basic types, their literals and operations (0) | 2026.01.09 |
| Your first program in Kotlin (0) | 2026.01.09 |