애노테이션(annotation
)은 코드에 부가적인 정보를 추가하는 방법으로, 소프트웨어 툴이나 컴파일러 등이 사용할 수 있는 메타데이터의 형태로 제공됩니다. 코틀린에서도 애노테이션을 사용하여 여러 가지 정보를 클래스나 함수에 부가적으로 표시할 수 있습니다.
데이터 클래스(data class
)는 주로 데이터를 담는 클래스를 간단하게 만들 때 사용됩니다. 코틀린에서는 데이터 클래스를 선언할 때 몇 가지 특별한 기능을 제공하여 일반 클래스보다 간단하게 데이터를 다룰 수 있습니다.
애노테이션 사용하기
애노테이션은 @
기호를 사용하여 선언하며, 클래스나 함수 등에 부가적인 정보를 제공할 수 있습니다.
예를 들어, @Deprecated
애노테이션을 사용하여 특정 함수가 더 이상 사용되지 않음을 나타낼 수 있습니다.
@Deprecated("This function is deprecated. Use newFunction() instead")
fun oldFunction() {
// function implementation
}
또한, 사용자가 직접 애노테이션을 정의하여 사용할 수도 있습니다.
annotation class CustomAnnotation(val description: String)
위의 예제에서는 @CustomAnnotation
을 사용하여 클래스나 함수 등에 사용자 정의 애노테이션을 부여할 수 있습니다.
데이터 클래스 사용하기
데이터 클래스를 선언할 때는 data
키워드를 사용합니다. 데이터 클래스는 주 생성자에 최소한 하나의 매개변수를 가져야 하며, 클래스 내에서 인스턴스의 속성으로 선언된 매개변수에 해당하는 프로퍼티와 그에 대응하는 componentN()
함수를 자동으로 생성합니다.
예를 들어, 아래와 같이 사용자 정보를 담는 데이터 클래스를 정의할 수 있습니다.
data class User(val id: Int, val name: String)
위의 User
클래스를 선언함으로써, 데이터 클래스의 주 생성자로 정의된 두 개의 프로퍼티인 id
와 name
에 대한 component1()
, component2()
함수가 자동으로 생성됩니다. 이를 통해 간편하게 객체 분해나 패턴 매칭을 사용할 수 있습니다.
애노테이션과 데이터 클래스는 코틀린에서 매우 유용하게 사용될 수 있는 기능으로, 코드의 가독성과 유지보수성을 향상시키는 데 도움이 됩니다.
더 많은 정보는 코틀린 공식 문서를 참고하시기 바랍니다.