본문 바로가기
언어/코틀린

[코틀린] 변수, 자료형, null(물음표, 세이프콜, 엘비스 연산자)

by 퇴근후개발 2020. 12. 20.
반응형

 

1. 변수

1) var / val

    var : 값을 변경할 수 있음
    val : 깂을 변경할 수 없음

2) 변수선언

    var 변수명 : (자료형) = 값
    val 변수명 : (자료형) = 값

var a : Int = 10
val b : String = "안녕"


    코틀린은 변수값을 보고 형추론 -> 자료형 생략가능

val c = 20
var d = "하이"


2. 자료형

1) 숫자형

    정수형 : Long(64비트), Int(32비트), Short(16비트), Byte(8비트)

val a = 123  // Int
val b = -123  // Int
val c = 123L  // Long
val d : Byte = 127  // 명시적으로 자료형 지정
val e : Short = 2345  // 명시적으로 자료형 지정

    실수형 : Double(64비트), Float(32비트)

val a = 1.23  // Double
val b = 1.23F  // Float

 

2) 문자형

    문자열 : String

    문자 : Char(16비트)

val ch1 = 'a'  // Char
val ch2: Char = 'b'  // Char
val str1 = "안녕"  // String
val str2 : String = "하이"  // String

 

3) 논리형

    Boolean(1비트)

var isResult = true
var isResult : Boolean = false

 

3. null 허용

1) 물음표 (?)

코틀린에서 변수는 반드시 할당되어야한다. 즉, null 값을 가질 수 없다.

null값을 허용하기 위해서는 물음표를 사용해야한다.

val a : Int  // Error
val b : Int = null  // Error
val c : Int? = null  // null 허용

 

2) 세이프콜 (?.)

null을 허용한 변수를 .연산자 대신 .?연산자를 사용하여 안전하게 호출

var str : String? = null
str.length  // Error
str?.length  // null

 

3) 엘비스 연산자 (?:)

변수가 null이면 null이 아닌 지정값 반환

var str : String? = null
str?.length ?: "값을 입력하시오"  // 값을 입력하시오

str = "안녕"
str?.length ?: "값을 입력하시오"  // 2

 

반응형