English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 문서에서는 Kotlin 프로그램에서 동반 객체를 생성하고 사용하는 방법을 예제를 통해 배웁니다.
동반 객체에 대해 논의하기 전에, 클래스의 멤버에 대한 접근을 위한 예제를 통해 설명해 보겠습니다.
class Person { fun callMe() = println("I'm called.") {} fun main(args: Array<String>) { val p1 = Person() //객체 p를 사용하여1callMe() 메서드를 호출합니다 p1.callMe() {}
여기서는 Person 클래스의 객체 p를 생성했습니다1 callMe() 메서드를 호출합니다.
그러나 Kotlin에서는 클래스 이름(이 예제에서는 Person)을 사용하여 callMe() 메서드를 호출할 수도 있습니다. 이를 위해 companion 키워드를 사용하여 표시해야 합니다객체 선언객체를 선언하여 동반 객체를 생성합니다.
class Person { companion object Test { fun callMe() = println("I'm called.") {} {} fun main(args: Array<String>) { Person.callMe() {}
이 프로그램을 실행할 때, 출력은 다음과 같습니다:
제 이름은 I'm called.
프로그램에서는 Test 객체를 생성하는 데 사용되는 키워드인 companion를 사용하여 동반 객체를 생성합니다. 따라서 다음 클래스 이름을 사용하여 method를 호출할 수 있습니다: callMe()
Person.callMe()
동반 객체의 이름은 선택적이며 생략할 수 있습니다.
class Person { //동반 객체의 이름은 선택적이며 생략할 수 있습니다. companion object { fun callMe() = println("I'm called.") {} {} fun main(args: Array<String>) { Person.callMe() {}
Java에 익숙하다면, 당신은 동반 객체를 정적 메서드와 연결할 수 있을 것입니다. (그러나 그들의 내부 작동 방식은 완전히 다릅니다.)
동반 객체는 해당 클래스의 개인 구성원에 접근할 수 있으므로, 그들은 팩토리 메서드 패턴을 구현하는 데 사용될 수 있습니다.