개발/Kotlin

Kotlin value class

이도일 2023. 2. 16. 18:02

요즘 노션에서 모든 기록을 다 하다보니

티스토리에 소홀해졌다

 

회고도 꾸준히...쓰고있는ㄷ ㅔ

 

 

 

앞으로의 내용들중

블로그에 쓸 만큼 긴 글들은 기록을 옮겨두려고 한다 

 

 

 

 

 

그 시작은 value class..!

wrapper class(가독성을 높이기 위한 class)의 비용을 줄여보고자 나온 class

 

 

 

아래와 같이 사용하면 된다

@JvmInline
value class Color private constructor(val rgb: Int) {
  companion object {
    fun rgb(rgb: Int) = Color(rgb)
  }
}
  • value 키워드를 통해 value class를 정의할 수 있다
  • 이렇게 정의된 value class는 컴파일러에 의해 최적화의 대상이 된다

@JvmInline Annotation

  • Specifies that given value class is inline class라는 설명이 되어있다