신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

코틀린에는 문자열 템플릿이란 것이 있습니다. 문자열 안에서 외부에 있는 변수를 가져올 수 있는 방법입니다.

 

예를들어서 Java에서 "Hello, Kotlin!"을 찍어본다고 합시다. (이때 "Kotlin"은 name이라는 변수에 들어있습니다.)

String name = "Kotlin";
System.out.println("Hello, " + name + "!");​

 

자바를 공부한 사람이 있다면 위와 같이 코드를 짤것입니다. 하지만 코틀린에서는 문자열 템플릿(String Templates)이란 기능을 제공하기 때문에 위와 같이 더하기 연산자(+)를 통해 문자열을 합칠 필요가 없습니다.

 

그렇다면, 코틀린에서는 위와 같은 코드를 어떻게 표현할까요?

 

fun main(args: Array<String>){
    val name = "Kotlin"
    println("Hello, $name!") // 자바의 ("Hello, " + name + "!") 와 같은 표현식
}​

 

위에서 달러 기호($)가 보이시나요? 달러 모양을 쓰고 그 뒤에 호출하고 싶은 변수의 이름을 적어주면 변수의 값을 가져올 수 있습니다. 더하기 연산자(+)를 사용할 필요가 없어지기 때문에 간단하고 빠르게 코드를 작성 할 수 있습니다.

실행 결과

Hello, Kotlin!

 

 

Kotlin String Templates

코틀린의 문자열 템플릿에 대해 더 알아봅시다. 위에서 본것이 전부이긴 하지만, 주의해야 할 부분이 있습니다. 바로 변수뒤에 띄어쓰기 없이 이어서 다른 문자열을 출력하는 경우입니다. 말로 해서는 이해하기 힘드니, 아래예제를 살펴봅시다.

 

val answer = "Hongku"
println("$answer안녕")​

위와같이 answer라는 변수뒤에 "안녕"이란 말을 출력하고 싶을때, 컴파일 에러가 발생합니다. "안녕"이란 문자열까지 변수이름으로 인식하기 때문입니다. 그래서 이때는 아래와 같이 중괄호({})를 사용해주는 것이 좋습니다.

 

val answer = "Hongku"
println("${answer}안녕")​

중괄호를 이용하면 컴파일러는 에러를 발생하지 않습니다. 위와 같은 경우가 있기 때문에 항상 중괄호를 사용해 주는것이 좋습니다.(권장사항일 뿐, 원하지 않으면 중괄호를 사용하지 않아도 상관없습니다...)

실행 결과

Hongku안녕

 

중괄호 안에 식 넣기

사실 중괄호는 위 역할 뿐 아니라 다른 역할도 합니다. 바로 그 안에 식을 써넣을 수 있다는 것입니다.

println("Hello, ${if (args.size > 0) args[0] else "someone"}!")​

if문을 넣을 수 있기 때문에, 간단하고 빠르게 코드를 작성 할 수 있습니다. 기존 Java방식을 따른다면, if문을 작성해야 하기 때문에 코드 4줄이 추가 될것입니다.

실행 결과

Hello, someone!

 

$를 문자열에 쓰고 싶을땐?

변수를 호출하는 것이 아니라, 달러 모양($)을 문자열에 쓰고 싶을때는 백슬래시(\)를 이용해서 이스케이프 문자로 사용할 수 있습니다. 아래 예제를 통해 확실히 알 수 있습니다.

println("\$name")​

실행 결과

$name

 

 

읽어주셔서 감사합니다.

 

본 글은 Dmitry Jemerov, Svetlana Isakova의 "Kotlin in action" 책을 참고하여 작성한 글입니다.

 

 

다른 글

2019/02/04 - [Language/Kotlin] - 코틀린의 메소드 사용방법(Kotlin)

 

코틀린의 메소드 사용방법(Kotlin)

코틀린에서 메소드를 만드는 방법을 알아보고, 반환값이 있는 메소드 생성하는 법과 반환값이 없는 메소드 생성하는 법을 살펴본다. 그리고, 자바와 달리 코틀린에서만 사용가능한 메소드 정의 법(식이 문장인 메..

hongku.tistory.com

2019/02/04 - [Language/Kotlin] - 코틀린의 변수 사용법 및 val과 var의 차이점

 

코틀린의 변수 사용법 및 val과 var의 차이점

코틀린에는 변수를 생성할 때 타입을 생략을 해도되고, 생략을 하지 않고 명시해서 생성 할 수 있다. 아래 예제를 살펴본다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 fun main(args: Array){ //..

hongku.tistory.com

2019/02/06 - [Algorithm/백준 온라인 저지] - 백준 11022번 A+b - 8, 코틀린으로 풀기

 

백준 11022번 A+b - 8, 코틀린으로 풀기

문제 풀이에 대한 내용과 코드는 아래에 있습니다. 문제를 아시는 분은 아래로 내려가서 확인 할 수 있습니다. 문제 출처 - 백준 https://www.acmicpc.net/problem/11022 문제 두 정수 A와 B를 입력받은 다음, A+B..

hongku.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기