Kotlin 입문 [02] - Kotlin에서 변수 만들기 및 사용하기
학습할 내용
- 변수를 정의하고 업데이트하는 방법
- Kotlin의 기본 데이터 유형에서 변수에 적합한 데이터 유형을 선택하는 방법
- 코드에 주석을 추가하는 방법
변수 및 데이터 유형
변수
컴퓨터 프로그래밍에는 변수라는 개념이 있습니다. 변수는 값(value)이 들어있는 상자로 생각하면 됩니다. 상자에는 라벨이 있고 라벨은 변수 이름(name)입니다. 즉, 변수 이름을 참조하여 변수에 포함된 값에 접근할 수 있습니다.
데이터 유형
| Kotlin 데이터 유형 | 포함할 수 있는 데이터 종류 | 예시 |
|---|---|---|
String |
텍스트 | "Add contact", Search, Sign in |
Int |
정수 | 32, -1234 |
Double |
십진수 | 2.0, -123.321 |
Float |
십진수(Double보다 정밀도가 낮고, 숫자 끝에 f또는 F가 있습니다.) |
5.0f, -123.312f |
Boolean |
참 또는 거짓 | true, false |
변수 정의 및 사용
Kotlin 플레이그라운드를 열고 기존 코드를 다음 프로그램으로 바꿉니다.
fun main() {
val count: Int = 2
println(count)
}
프로그램을 실행하면 다음과 같이 출력됩니다.
2
변수 선언
// val: 키워드
// count: 변수 이름
// Int: 데이터 유형
// 2: 초기값
val count: Int = 2
이 코드는 숫자 2를 보유하는 count라는 정수 변수를 만듭니다.
새 변수를 정의하는 키워드
새 변수를 정의 할 때 Kotlin 키워드 val을 사용합니다.
변수 이름
val 키워드 뒤에 변수 이름을 지정합니다. Kotlin 키워드는 변수 이름으로 사용하지 않는 것이 좋습니다. 함수와 마찬가지로 카멜 표기법 규칙을 따라야 합니다.
변수 데이터 유형
변수 이름 뒤에 콜론과 공백 그리고 변수의 데이터 유형을 적어줍니다.
할당 연산자
등호(=)를 할당 연산자라고 합니다. 즉, 등호의 오른쪽에 있는 값이 왼쪽에 있는 변수에 저장됩니다.
변수 초기값
변수가 선언될 때 2가 변수에 저장된 첫 번째 값이라는 의미입니다. 초기값은 변수에 선언된 데이터 유형에 따라 다릅니다.
변수 사용
println(count)
count 단어 주위에 따옴표가 없기 때문에 문자열이 아닌 변수 이름이라는 것을 알 수 있습니다. 프로그램을 실행하면 Kotlin 컴파일러는 count를 평가하고 2로 평가되므로 println(2)가 됩니다.
문자열 템플릿
You have 2 unread messages.
출력에 표시되는 메시지를 위와 같이 만들어봅시다.
Kotlin 플레이그라운드에서 다음 코드와 같이 수정합니다.
fun main() {
val count: Int = 2
println("You have count unread messages.")
}
프로그램을 실행하면 다음과 같이 출력됩니다. count 변수의 값이 아닌 변수 이름이 표시됩니다.
You have count unread messages.
count 변수 앞에 달러 기호 $를 추가합니다.
fun main() {
val count: Int = 2
println("You have $count unread messages.")
}
프로그램을 실행하면 출력이 원하는 대로 표시됩니다.
You have 2 unread messages.
유형 추론
변수의 초기값을 제공하면 변수 선언에서 데이터 유형을 생략할 수 있습니다.
count 예시로 돌아가면 프로그램에 다음 코드가 있습니다.
val count: Int = 2
이 코드를 다음과 같이 작성할 수도 있습니다.
val count = 2
Kotlin 컴파일러는 2를 count 변수에 저장하려는 것을 인식하므로 count 변수가 Int 유형이라고 추론할 수 있습니다. 유형 추론은 Kotlin의 모든 데이터 유형에 적용됩니다.
정수가 포함된 기본 수학 연산
Kotlin 플레이그라운드의 코드를 모두 삭제하고 다음 코드로 작성합니다.
fun main() {
// 읽지 않은 이메일 개수
val unreadCount = 5
// 읽은 이메일 개수
val readCount = 100
println("You have ${unreadCount + readCount} total messages in your inbox.")
}
프로그램을 실행하면 받은편지함의 총 메일 개수가 표시됩니다.
You have 105 total messages in your inbox.
문자열 템플릿의 경우 복잡한 표현식이 있을 때 표현식을 중괄호로 묶고 $ 기호를 중괄호 앞에 배치합니다. ${unreadCount + readCount} 중괄호 내의 표현식이 105로 평가되고, 값 105가 문자열 내에 대체됩니다.
변수 업데이트
Kotlin 플레이그라운드의 코드를 아래 프로그램으로 바꿉니다.
fun main() {
val cartTotal = 0
cartTotal = 20
println("Total: $cartTotal")
}
프로그램을 실행하면 컴파일 오류가 발생합니다.
'val' cannot be reassigned.
변수 값을 업데이트해야 한다면 val 대신 var로 변수를 선언합니다.
val: 변수 값이 변경되지 않을 것으로 예상하는 경우 사용var: 변수 값이 변경될 수 있을 것으로 예상하는 경우 사용
쉽게 기억하려면 val을 고정값으로, var를 변수로 생각하면 됩니다. Kotlin에서는 가능하면 var 키워드 대신 val 키워드를 사용하는 것이 좋습니다. 코드를 다음과 같이 수정합니다.
fun main() {
var cartTotal = 0
cartTotal = 20
println("Total: $cartTotal")
}
프로그램을 실행하면 코드가 정상적으로 컴파일 되고 다음과 같이 출력됩니다.
Total: 20
증감 연산자
Kotlin 플레이그라운드에서 코드를 다음 프로그램으로 바꿉니다.
fun main() {
var count = 10
println("You have $count unread messages.")
count = count + 1
println("You have $count unread messages.")
}
프로그램을 실행하면 두번째 메시지에는 업데이트된 count인 11이 표시됩니다.
You have 10 unread messages.
You have 11 unread messages.
count = count + 1은 증가 연산자(++)를 사용하면 코드 길이를 줄일 수 있습니다. 코드를 아래와 같이 수정하고 프로그램을 실행합니다.
fun main() {
var count = 10
println("You have $count unread messages.")
count++
println("You have $count unread messages.")
}
출력은 동일합니다. 이제 count 변수 이름 뒤에 감소 연산자(--)를 사용해봅시다.
fun main() {
var count = 10
println("You have $count unread messages.")
count--
println("You have $count unread messages.")
}
프로그램을 실행하면 다음과 같이 출력됩니다.
You have 10 unread messages.
You have 9 unread messages.
count++는count = count + 1과 같습니다.count--는count = count - 1과 같습니다.
다른 데이터 유형 살펴보기
Double
Kotlin 플레이그라운드에서 코드를 다음 프로그램으로 바꿉니다.
fun main() {
val trip1 = 3.20
val trip2 = 4.10
val trip3 = 1.72
val totalTripLength = trip1 + trip2 + trip3
println("$totalTripLength miles left to destination")
}
Kotlin 컴파일러는 초기값으로 제공된 십진수를 기반으로 변수가 Double 데이터 유형이라고 추론할 수 있습니다. 프로그램을 실행하면 다음과 같이 출력됩니다.
9.02 miles left to destination
String
Kotlin 플레이그라운드에서 코드를 다음 프로그램으로 바꿉니다.
fun main() {
val nextMeeting = "Next meeting: "
val date = "January 1"
val reminder = nextMeeting + date + " at work"
println(reminder)
}
프로그램을 실행하면 다음과 같이 출력됩니다.
Next meeting: January 1 at work
+기호를 사용하여 문자열을 연결할 수 있습니다. 표현식 nextMeeting + date는 "Next meeting: January 1"가 됩니다.
Boolean
Kotlin 플레이그라운드에서 코드를 다음 프로그램으로 바꿉니다.
fun main() {
val notificationsEnabled: Boolean = false
println("Are notifications enabled? " + notificationsEnabled)
}
프로그램을 실행하면 다음과 같이 출력됩니다.
Are notifications enabled? false
다른 데이터 유형은 String에 연결할 수 있습니다. 즉, Boolean을 String에 +기호를 사용해서 연결 할 수 있습니다.
코드에 주석 달기
코딩할 때 코드의 의도를 설명하는 주석을 추가하는 것은 좋은 방법입니다. // 기호 뒤의 텍스트가 주석으로 간주되고 코드로 해석되지 않습니다. 일반석으로 // 기호 뒤에 공백을 추가합니다.
// This is a comment.
한 줄에 영문 기준 100자를 초과하는 긴 주석은 여러 줄 주석을 사용하세요.
/*
* This is a very long comment that can
* take up multiple lines.
*/
다음은 주석이 포함되어 있는 프로그램입니다.
/*
* This program displays the number of messages
* in the user's inbox.
*/
fun main() {
// Create a variable for the number of unread messages.
var count = 10
println("You have $count unread messages.")
// Decrease the number of messages by 1.
count--
println("You have $count unread messages.")
}
정리
val키워드는 읽기 전용 변수에 사용합니다.var키워드는 변경 가능한 변수에 사용합니다.- 가능하면
val을 사용하는 것이 좋습니다. - 유형 추론을 사용하면 초기값이 제공된 경우 변수 선언에서 데이터 유형을 생략합니다.
📚 참고: Android Developers 공식 Kotlin 학습 자료 본 글은 Android Developers의 Kotlin 교육 콘텐츠를 참고하여 재구성했습니다.
댓글남기기