다음과 같이 하면 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\""
    }

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

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