일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 알고리즘
- Programming
- 리뷰
- Kotlin
- 문법
- 티스토리
- 프로그래밍
- Tips강좌
- Javascript
- tipssoft
- 이지스퍼블리싱
- CS
- 배열
- Visual Studio
- Tips프로그래밍강좌
- 연산자
- Windows
- c++
- c#
- 백준
- doit코틀린프로그래밍
- Desktop
- 함수
- Win32
- 김성엽
- Direct2D
- c
- VS ERROR
- 포인터
- 지식나눔강좌
- Yesterday
- Today
- Total
F.R.I.D.A.Y.
Kotlin: 02 변수와 자료형 본문

이전 시간에는 프로그래밍을 할 수 있는 환경을 조성했습니다. 오늘은 코틀린에서 제공하는 변수와 자료형을 알아봅니다.
기본적으로 C언어를 주로 이용했다 보니, 설명을 C언어에 비교하여 설명할 수 있습니다.
Index
- 변수
- 선언
- 자료형
- 숫자 자료형
- 정수 자료형
- 실수 자료형
- 기타 자료형
- Boolean
- 문자/문자열
- 숫자 자료형
- 적용하기
- 변수 출력하기
- Next.
변수copy^
우리가 물건을 사기 위해 리스트를 작성한다고 해봅니다. 그렇다면 리스트를 작성하기 위한 메모장이 필요할 텐데요, 이 메모장을 프로그램에서는 변수라고 생각할 수 있습니다.
선언copy^
코틀린 프로그래밍에서는 변수를 선언할 수 있는 방법은 다음과 같습니다.
val hello1: String = "Hello world!(1)"
var hello2: String = "Hello world!(2)"
val로 선언하는 방법과 var로 선언하는 방법 두 가지가 존재하는데 두 방법의 차이는 변수의 값을 변경할 수 있느냐 없느냐의 차이입니다. 마치 C언어의 일반 변수와 const 변수를 보는 것과 같죠.
위 선언에서는 변수명 뒤에 콜론을 작성하고 추가로 자료형을 작성해주었는데요, 코틀린은 자료형 추측을 할 수 있기 때문에 String을 작성하지 않고 아래와 같이 이용할 수도 있습니다.
var hello3 = "Hello world!(3)"
개인적으론 이렇게 작성하는 것보다는 자료형을 함께 작성해주는 것이 이후 제품을 만들 때 디버깅 등에서 더 이점이 많을 것이라 생각합니다.
한 가지 더, 코틀린에서 나중에 사용하려고 미리 선언만 하고 초기화를 하지 않은 변수는 꼭 자료형을 작성해주어야 합니다.
var str:String
str="this variables have string data"
이렇게 말이죠.
자료형copy^
코틀린은 정적 타입 언어(Static Type Language)입니다. Javascript와 같이 자료형을 지정해주지 않아도 되는 것이 아닙니다. 위에서 변수 선언 때 타입을 작성해주지 않아도 되었던 것은 컴파일러가 초기화 값에서 자료형을 추론했기에 가능했던 것입니다.
숫자 자료형copy^
가장 기본적인 자료형입니다. 컴퓨터 하면 계산이 생각나죠. 숫자를 저장하는 자료형에는 크게 두 종류가 존재합니다.
정수 자료형copy^
정수 자료형은 아래와 같습니다. 이 자료형들은 부호를 갖추고 있으며 부호를 가지고 있기 때문에 최댓값이 부호를 가지지 않은 값보다 절반이 작습니다.
자료형 | 크기 |
Long | 8바이트 |
Int | 4바이트 |
Short | 2바이트 |
Byte | 1바이트 |
부호를 가지지 않는 unsigned 자료형은 아래와 같습니다. 부호를 가진 자료형에서 unsigned의 U를 더해 이름이 명명되었습니다.
자료형 | 크기 |
ULong | 8바이트 |
UInt | 4바이트 |
UShort | 2바이트 |
UByte | 1바이트 |
코틀린 v1.3이 아니라면 참고하세요
부호 없는 자료형의 경우에는 코틀린 1.3에서의 시험적 기능[1]입니다. 따라서 버전업이 되었을 때 사라질 수 있다는 말이지요. 만일 본인이 여러 사람들에게 배포하고 싶은 프로그램을 만들 예정이라면 이 자료형을 이용할 때는 주의해야겠네요.
동시에, 우리가 사용하는 goorm에서는 코트린 버전이 1.3보다 낮습니다. 따라서 이 자료형들은 사용할 수 없어요.

C 언어에서와 마찬가지로 코틀린에서도 상수에 접미어를 붙여 자료형을 확장할 수 있습니다. 정수의 기본형은 Int입니다. 만일 아래와 같이 Long범위로 표현하지 않아도 되는 값을 자료형 추상으로 변수의 크기를 Long으로 맞추려면 뒤에 L을 붙이면 됩니다.
var i1 = 65535 // type: Int
var i2 = 65535L // type: Long, 접미어 L을 통해 i2의 자료형이 Long으로 선언됨
Long의 접미사 L은 대문자로 작성해야합니다. 그렇지 않으면 오류를 출력합니다.

실수 자료형copy^
실수를 표현하기 위해서는 실수 자료형을 이용해야 합니다. 두 가지가 존재하네요.
자료형 | 크기 |
Double | 8바이트 |
Float | 4바이트 |
실수형의 기본형은 Double이기 때문에 접미어 F를 붙이지 않은 모든 실수 값은 Double로 표현됩니다. 따라서 만일 타입 추론으로 변수의 자료형을 Float으로 지정하고 싶다면 상수 값 뒤에 F를 붙여야 해요. 접미사 F는 대소문자를 구분하지 않습니다.
var flt1 = 2.71 // type: Double
var flt2 = 2.71F // type: Float, 접미어에 의해 타입 추론에서 flt2가 Float으로 선언됨.
기타 자료형copy^
프로그램에서는 단순히 숫자만을 이용하지는 않습니다. 프로그램 자체가 생활의 문제를 해결하기 위해 일련의 동작을 구성해놓은 것이니 결국 생활에서 사용하는 자료형도 가지고 있겠죠.
Booleancopy^
참/거짓을 판별하는 Boolean입니다. 이미 다른 언어를 한번 경험해봤다면 익숙할 것입니다.
자료형 | 값 |
Boolean | True/False[# 두 값 중 하나만 지닙니다.] |
문자/문자열copy^
실제 많은 프로그램에서는 문자, 혹은 문자열을 이용합니다. 어떤 기능을 가진 프로그램이던 결국 기능을 소개하기 위한 설명이 필요하니까요.
자료형 | 값 |
Char | 단일 문자 |
String | 문자열[# 단일 문자의 집합. 단어, 문장 등] |
자료형 Char의 경우 작은따옴표[']로, String의 경우에는 큰따옴표["]으로 묶어 값을 표현합니다.
val ch:Char = 'C'
val str:String = "strings"
이 또한, C 언어의 선언 방식과 유사하네요.
적용하기copy^
이제 자료형과 변수를 알아봤습니다. 그렇다면 가장 기초가 되는 항목, 출력을 배워보아야겠죠.
변수 출력하기copy^
변수의 값을 출력하는 방법은 두 가지가 있습니다.
fun main(){
val str: String = "Hello world"
println(str)
}
출력 함수의 인자로 변수를 작성하는 방법이 첫 번째,
fun main(){
val str: String = "Hello world"
println("$str")
}
문자열 안에서 $[4]와 함께 원하는 변수 이름을 작성해주면 이용할 수 있습니다.
Next.copy^
Kotlin: 03 출력하기
이전 시간에 잠시 출력에 대한 내용이 포함되어 있었습니다. 이번 포스트에서는 잠시 논외로 벗어나 출력하는 방법에 대해 알아봅니다. 출력하기 입력은 대개 사용자들로부터 어떤 값을 작성해 그 값을 프로그램..
pang2h.tistory.com
'DEV > Kotlin' 카테고리의 다른 글
Kotlin: 05 연산자 (0) | 2020.03.28 |
---|---|
Kotlin: 04 자료의 비교와 변환 (0) | 2020.03.27 |
Kotlin: 03 출력하기 (0) | 2020.03.24 |
Kotlin: 01 시작하기 (2) | 2020.03.22 |
Kotlin: 00 Intro (0) | 2020.03.21 |