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
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
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 |