[kotlin] 코틀린 object 선언의 동반 객체 활용법
코틀린에서 object
선언은 싱글턴 인스턴스를 쉽게 생성할 수 있는 강력한 기능입니다. 이 object
선언은 클래스를 선언하고 동시에 클래스의 단일 인스턴스를 생성합니다. 또한, object
선언을 사용하여 동반 객체(companion object)를 정의할 수 있습니다.
동반 객체란?
동반 객체는 클래스 내부에 정의되며 해당 클래스의 인스턴스와 관계되는 메소드나 변수를 포함할 수 있습니다. 또한, 클래스의 인스턴스를 생성하지 않고 바로 동반 객체를 통해 메소드나 변수에 접근할 수 있습니다.
동반 객체의 활용
아래의 예시 코드를 통해 코틀린에서 동반 객체를 어떻게 활용하는지 살펴보겠습니다.
class User private constructor(val name: String) {
companion object {
fun create(name: String): User {
return User(name)
}
}
}
fun main() {
val user = User.create("Alice")
println(user.name) // "Alice" 출력
}
위의 코드에서 User
클래스 내부에 create
메소드를 동반 객체로 선언했습니다. 이렇게 함으로써 create
메소드를 통해 User
클래스의 인스턴스를 생성할 수 있으며, 해당 메소드는 클래스 외부에서도 직접 접근할 수 있습니다.
동반 객체는 팩토리 메소드나 다른 생성 패턴을 구현할 때 유용하게 활용될 수 있습니다.
정리
코틀린의 object
선언과 동반 객체는 코드를 더 간결하고 유연하게 작성할 수 있도록 도와줍니다. 클래스의 인스턴스와 관계된 메소드나 변수를 정의할 때 동반 객체를 적극적으로 활용해 보세요.