[kotlin] 코틀린 inline 클래스의 정의와 사용법

코틀린에서 inline class 는 값을 갖지 않는 특별한 형태의 클래스입니다. 이 클래스는 래퍼 클래스 또는 값 객체로 사용될 수 있으며, 런타임에서 힙 할당 없이 스택에 인라인됩니다.

inline class 정의하기

inline class Email(val value: String)

inline 키워드를 사용하여 클래스를 정의합니다. 위 코드에서 Email 클래스는 문자열 값을 갖는 간단한 inline 클래스입니다.

inline class 사용하기

fun validateEmail(email: Email): Boolean {
    val regex = Regex("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}\$")
    return regex.matches(email.value)
}

val userEmail = Email("example@email.com")
val isValid = validateEmail(userEmail)

위의 코드에서 Email 클래스를 사용하여 이메일을 유효성 검사하는 예제입니다. value 속성을 통해 실제 값에 접근할 수 있습니다.

inline class 주의사항

이와 같이 코틀린의 inline 클래스를 사용하면, 특별한 형태의 데이터를 캡슐화하고 메모리를 절약할 수 있습니다.

참고로 코틀린 공식 문서를 통해 더 많은 정보를 얻을 수 있습니다.

이상으로 코틀린 inline 클래스의 정의와 사용법에 대해 알아보았습니다.