언어/Kotlin
[Kotlin1-5] Literal
연나연
2023. 12. 27. 16:03
리터럴
▶프로그래밍 언어에서 값을 작성하는 문법
▶작성하는 값에 따라서 기억공간의 용도, 크기, 위치가 결정된다.
▶용도: 저장하는 값을 효율적이고 정상적으로 유지하기 위한 방법을 결정한다.
▶자료구조에서 정의하는 값 관리 기법을 따른다. (정수, 실수 등등 값의 형태에따라 관리하는 방법이 다르다.)
▶크기: 리터럴인 경우에는 크기가 정해져 있다.
▶위치: OS가 비어있는 공간의 위치를 알려주기 때문에 알아서 결정된다. (알고리?가 알아서해줌)
정수 4byte의 범위: -2147483648 ~ 2147483647
println(2147483648L)
println(-2147483649L)
▲자바의 경우 정수값을 작성하면 4 byte 기억공간이 마련되기 때문에 범위를 벗어난 값을 작성하면 오류가 발생한다.// 따라서 8 byte 기억공간이 만들어 질 수 있도록 L을 뒤에 붙여줘야 한다.
println(2147483648)
println(-2147483649)
▲그런데 코틀린의 경우 L 붙히지 않더라도 작성된 값을 보고 Java 코드로 변환될 때 4 byte 면 충분한 경우 정수값 기대로 유지되고 8 byte 기억공간이 필요한 값이라면 뒤에 L 을 붙힌 코드로 변경된다.
즉 코틀린은 정수값을 작성할 때 값의 범위를 보고 뒤에 L 을 붙혀주지 않아도 된다.
실수
▶실수 8byte: println(11.11)
▶실수 4byte: println(11.11F)
문자
▶2byte ? , 실행되는 시스템에 따라간다
문자열
▶작성한 글자 수 만큼 메모리를 사용한다. 객체라는 것으로 관리된다.
println("문자열")
논리타입
▶'참'을 의미
println(true)
▶'거짓'을 의미
println(false)
Rawstring
▶여러줄의 문자열을 표현할 때 사용한다.
println("""동해물과 백두산이
|마르고 닳도록
|하느님이 보우하사
|우리나라 만세
""".trimMargin())
코드 실행해보고 싶으신 분들을 위해// 리터럴 fun main(){ // 정수(4 byte or 8 byte) println(100) println(2147483647) println(-2147483648) println(2147483648L) println(-2147483649L) println(2147483648) println(-2147483649) // 정수값 작성시, 자릿 구분을 위해 _ 를 사용 println(123_456_789) // 실수 (8byte) println(11.11) // 실수 (4byte) println(11.11F) println('A') println('나') }