Companion Object와 Object는 모두 특별한 유형의 객체이지만 다음과 같은 차이가 있다.
- Companion Object:
클래스 내부에 선언되는 객체이다. 해당 클래스의 인스턴스와 무관하게 클래스 자체에 속한 멤버 변수나 메서드를 가질 수 있다. 클래스의 정적인 요소를 표현하기 위해 사용되고 Java의 정적 멤버와 유사한 역할을 한다.
class MyClass {
companion object {
const val MY_CONSTANT = "Hello"
fun myFunction() {
println("My function is called")
}
}
}
- Object:
단일 인스턴스로 존재하는 싱글톤 객체를 클래스 없이 정의할 수 있다. 전체 애플리케이션에서 공유해야 하는 상태를 유지하는 데 사용된다.
object MySingleton {
fun myFunction() {
println("My function is called")
}
}
https://dev-cho.tistory.com/63
Kotlin object 사용해 싱글톤 패턴 구현하기 : object, companion object는 언제 초기화 되는가?
Kotlin의 object는 싱글톤 패턴을 구현하는 방법이다. Kotlin에서 object는 객체 지향 프로그래밍에서 싱글톤 패턴을 구현하는 방법 중 하나입니다. 이를 통해 오직 하나의 객체만 생성되어 사용될 수
dev-cho.tistory.com
https://velog.io/@yongin01/%EC%9E%90%EB%B0%94%EC%BD%94%ED%8B%80%EB%A6%B0-companion-object%EC%97%90-%EB%8C%80%ED%95%B4
[자바/코틀린] companion object에 대해
Companion object companion object는 말 그대로 클래스(또는 interface, object)와 동반하는 동반객체이다. 안드로이드 개발을 하다보면 Fragment나 Viewmodel을 자동 생성했을 때 아래와 같이 companion object
velog.io
728x90
'앱 개발 > Kotlin_Android' 카테고리의 다른 글
RESTful API (0) | 2024.05.16 |
---|---|
SharedPreference (0) | 2024.05.13 |
ListAdapter (0) | 2024.05.10 |
MVP -> MVVM (0) | 2024.04.19 |
Data & Business Logic (0) | 2024.04.18 |