더북(TheBook)

다음과 같이 하면 String 클래스에 확장 함수를 두 가지 정의할 수 있다.

ExtensionFunctions/Quoting.kt

package extensionfunctions
import atomictest.eq

fun String.singleQuote() = "'$this'"
fun String.doubleQuote() = "\"$this\""

fun main() {
  "Hi".singleQuote() eq "'Hi'"
  "Hi".doubleQuote() eq "\"Hi\""
}

확장 함수를 마치 수신 객체 타입의 멤버 함수인 것처럼 호출할 수 있다.

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