티스토리 뷰

 저번 글에서는 문자 하나를 저장하는 Char 타입에 대해서 알아보았다면, 이번 글에서는 문자 여러 개를 저장할 수 있는 타입에 대해서 알아보도록 하겠습니다. 🥤 문자를 여러 개 담을 수 있는 타입이라고 해서 문자열 타입이라고 하며 String 키워드를 사용합니다.

예제 코드

 다음은 예제 코드입니다. 아래 코드를 바탕으로 String에 대해서 한 번에 이해합니다. 🍇

fun main(args: Array<String>): Unit{
    var str: String = "Hello"
    println(str)

    str = str + "\nKotlin!"
    println(str)

    println(str[8])

    val num = 10 * 5 + 3
    println(str + num)

    println("Kotlin"[0])
}

실행 결과

다음은 실행 결과입니다.

Hello
Hello
Kotlin!
t
Hello
Kotlin!53
K

Process finished with exit code 0

코드 해설

 그러면 위 코드를 바탕으로 한 줄씩 코드 해설을 진행하도록 하겠습니다.

코드 왼쪽에 번호 줄 참고

 2(번째 줄): str이라는 이름의 String 형식 변수를 선언함과 동시에 "Hello"로 초기화합니다.

코틀린에서는 String 이라는 키워드로 문자열을 나타내고 큰따옴표("")로 문자열을 감싸서 나타냅니다.

3: 출력시 Hello가 정상 출력됩니다. 🥩

5: str에 "\nKotlin!"이라는 문자열을 +연산자를 사용해서 더해주고 있습니다.

+ 연산자를 사용하면 문자열 간에 이음을 할 수 있습니다. 때문에 Hello와 Kotlin! 문자열이 붙여집니다.

이때 \n의 경우 어떤 뜻이 냐면 newline의 의미를 담고 있어서 개행이 이루어집니다. 큰 따옴표 내부에서는 엔터를 쳐서 개행을 하는 방법이 아닌 보통 \n라는 이스케이프 문자를 사용해서 개행을 나타냅니다.

6: 그래서 결과 또한 위과 같은 결과가 나오게 되죠.


8: 다음은 str에 [] 접근자를 사용해서 str의 9번째 문자에 대해서 출력합니다. 인덱스는 0부터 시작한다는 점을 기억하시기 바랍니다. 8번째 문자는 t이므로 t가 출력됩니다.

10: 53이라는 정수를 저장합니다. 🥪

11: 이후 str에 num(정수)를 + 연산자를 사용해 더해줍니다. 문자열과 문자열이 아닌 정수를 더하고 있는데 이때 정수는 자동으로 문자열 형식으로 변환되어 str 문자 다음에 이어집니다.

그렇기 때문에 결과가 위처럼 나오게 됩니다.

13: Kotlin!이라는 문자의 0번 인덱스에 접근하고 있습니다. 문자열의 시작 인덱스는 1이 아닌 0부터 이므로 [0]은 첫 번째 문자를 꺼내오라는 것과 같습니다. 때문에 결과 또한 K가 출력됩니다.


 문자열은 말 그대로 문자를 여러 개 합쳐놓은 것입니다. 코틀린에서는 Char 형식이 문자 하나를 나타내므로, Char 형식의 크기인 2byte만큼 문자 하나당 크기를 차지하게 됩니다. 물론 '\n' 같은 이스케이프 문자 또는 스페이스(' ') 또한 2byte를 각각 차지하게 됩니다. 이점 또한 기억해두시기 바랍니다. 🍱

 다음 글에서는 더 재미있는 주제에 대해서 다뤄보도록 하겠습니다. 고생하셨습니다.

[Android/Kotlin] - [코틀린] 문자 타입 Char 그리고 유니코드에 대한 고찰

[Android/Kotlin] - [코틀린] 실수(Float, Double) 타입을 다룰 때 주의해야 할 점 (오차)

[Android/Kotlin] - [코틀린] 정수, 실수 타입 정리 한 번에 끝내기 (Byte, Short, Int, Long, Float, Double)

댓글
댓글쓰기 폼
네이버 이웃추가
«   2020/11   »
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          
글 보관함