Home 변수와 자료형
Post
Cancel

변수와 자료형

변수 선언

var

  • 일반적으로 통용되는 변수
  • 언제든지 읽기 쓰기가 가능

val

  • 선언시에만 초기화 가능: 중간에 값을 변경할 수 없다. (runtime시 변경되지 않아야 되는 값은 안전하게 val로 선언)
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
fun main() {
    //정수형 (8진수 지원X)
    var intValue: Int = 1234
    var LongValue: Long = 1234L
    var intValueByHex: Int = 0x1af //16진수
    var intValueByBin: Int = 0b10110110 //2진수
    
    var doubleValue: Double = 123.5
    var doubleValueWithExp: Double=123.5e10
    var floatValue: Float = 123.5f
    
    //char: 1개 문자 - 2Byte
    var charValue: Char = 'a'
    var koreanCharValue: Char = '가'
    
    //boolean
    var booleanValue: Boolean = true
    
    //String
    var stringValue = "one line string test"
    var multilineStringValue = '''multiline
    string
    test
    '''
    
    var stringV: String = "string"
    
}

Null 변수

  • Kotlin은 기본 변수에서 null을 허용하지 않는다. 이는 변수가 선언된 후 초기화 되지 않으면 문법 에러를 표시하고 컴파일을 막아줘서 의도치 않은 동작이나 null pointer exception 등을 원천적으로 차단해 준다.
    • var a: Int? = null (null 값을 허용하는 a)

자료형

형변환

  • to + 바꾸고 싶은 자료형
    • toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble(), toChar()
  • 명시적 형변환만 지원 (암시적 형변환 X)
1
2
3
4
fun main() {
   var a: Int = 54321
   var b: Long = a.toLong()
}

타입추론

  • 변수나 함수들을 선언할 때나 연산이 이루어질 때, 자료형을 코드에 명시하지 않아도 코틀린이 자동으로 자료형을 추론해 주는 기능
    • val A = “abc” (String 자료형 생략), var intArr = arrayOf(1,2,3,4,5)
  • 코드량 줄일 수 있다.
  • 기본 자료형들 선언 시 값을 할당해주면 대부분 자료형 명시할 필요 없다.
    • var a = 1234: 일반 정수형 리터럴과 16진수, 2진수를 할당하면 Int
    • 1234L은 Long, 12.45은 Double, 12.45f는 Float형으로 추론