본문 바로가기

앱 개발/Kotlin_Android

Companion Object & Object

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