더북(TheBook)

문자열 템플릿 안의 식은 어떤 값이든 될 수 있다. 이 값은 자동으로 모든 코틀린 타입이 제공하는 toString() 메서드를 통해 문자열로 변환된다.

이 프로그램을 실행하고 이름( John)을 입력하면 다음과 같이 출력된다.

Hello, John!
Today is Sat Sep 04 00:42:29 KST 2021

결과는 여러분의 로케일(locale)에 따라 다르다.

첫 줄에서 사용한 import 문은 코드에서 JDK의 java.util.Date라는 클래스의 전체 이름을 사용하지 않고 Date라는 이름으로 참조할 수 있게 해준다. 다음 장에서 임포트와 패키지(package)를 더 자세히 다루겠다.

한 가지 다른 문자열 유형으로 로우 문자열(raw string)이 있다. 로우 문자열을 사용하면 이스케이프 시퀀스를 사용하지 않고도 문자열을 작성할 수 있다. 이러한 리터럴은 큰따옴표 세 개로 둘러싸여 있고, 새줄 문자를 포함한 임의의 문자를 포함할 수 있다.

val message = """
  Hello, $name!
  Today is ${Date()}
""".trimIndent()

trimIndent()는 여러 줄에 공통된 최소 들여쓰기(indent)를 제거해주는 표준 코틀린 함수다.

드물겠지만, 로우 문자열에 특수 문자를 추가하고 싶은 경우에는 ${} 안에 특수 문자를 넣으면 된다.

val message = """
This is triple quote:’${"\"\"\""}’
""".trimIndent()

JVM으로 컴파일되는 애플리케이션에서 문자열은 JVM의 String 클래스로 표현된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.