Romantic Developer : )

[Android&Kotlin] 코틀린 논리자료형, 문자자료형, 문자열 자료형 본문

Romantic Developer/Android&Kotlin

[Android&Kotlin] 코틀린 논리자료형, 문자자료형, 문자열 자료형

Romantic_Developer 2020. 2. 6. 10:07

안녕하세요, 로맨틱한 개발자 , Ro.D 입니다. 

 

오늘은 지난 시간에 이어 추가적으로 다양한 자료형에 대해서 알아보고자 합니다.

불필요한 이야기는 접어두고! 바로 시작합니다.

 

 

1. 논리 자료형, 문자 자료형

형식 자료형 크기 범위
논리 자료형 Boolean 1bit true, false
문자 자료형 Char 2byte 0~ 2^15 -1

 

논리자료형의 경우 true , false 두가지의 값만을 가지게 됩니다. 그렇기 때문에 보통 조건에 따른 분기문을 나누거는 등에 쓰이게 됩니다.

var condition: Boolean = false

if(condition){
println("this is true")
}
else{
println("this is false")
}

위의 경우에는 condition 에 false 의 값이 부여 되었기 때문에 "this is false" 문을 출력합니다.

 

문자 자료형은 문자 한자를 담는 데이터형입니다.

var character: Char = 'A'
var number1: Char = 1 //오류 발생
var character: Char = 'AB'//오류 발생

문자자료형에는 반드시 한글자의 데이터만 저장이 가능합니다. 그렇기 때문에 1과 같은 숫자를 할당하거나, AB와 같은 문자열을 할당하게 되면 오류가 발생합니다.

 

2. 문자열 자료형

형식 자료형 크기 범위
문자열 자료형 String    

 

코틀린에서 문자열 자료형은 조금 독특한 방식으로 저장되어 있습니다.

다음의 코드를 보겠습니다.

var str1: String = "Hello"
var str2: String = "Kotlin"
var str3 = "Kotlin

 

기본적인 프로그래밍 언어는 str1, str2, str3 를 별개의 메모리에 할당하겠지만, 코틀린은 힙 영역에 "Kotlin"이라는 문자열을 저장하고 str2와 str3 가 이를 동시에 참조하게 만듭니다.

 

마찬가지로 힙에는 "Hello" 라는 단어가 저장되어 있고 str1이 이를 참조합니다. 다만 혼자서 참조하고 있는 상태가 되겠지요.

 

이렇듯 코틀린은 메모리 할당에 대한 효율화 및 최적화를 지원하고 있습니다. 동일한 스트링 데이터를 중복으로 저장하는 것이 아니라 힙에 영역에 저장한 뒤에 메모리에서는 해당 힙에 String Pool 영역에 대한 주소만을 저장하여 해당 데이터를 참조하게 합니다.

 

 

이렇게 오늘은 간단하게 코틀린의 문법중 논리자료형, 문자자료형,  문자열 자료형 에 대하여 알아보았습니다.

더 깊은 내용들은 실제 실습에서 깊게 다루도록 하겠습니다.

 

감사합니다.