study gomi

[Kotlin/코틀린] Object 본문

basic/kotlin

[Kotlin/코틀린] Object

공부하곰 2024. 10. 23. 12:44
728x90
반응형

object ?

  • Kotlin에서 사용하는 특별한 키워드
  • 싱글톤 객체(singleton object)를 정의할 때 사용.
    • 싱글톤은 클래스의 인스턴스가 오직 하나만 존재하는 디자인 패턴
  • object 키워드를 사용하면 별도의 클래스를 만들고 인스턴스를 생성하는 과정을 생략하고 즉시 하나의 인스턴스가 생성된다.
  • object로 선언된 객체는 애플리케이션 전역에서 하나의 인스턴스만 존재하므로 공통된 기능을 제공하는 유틸리티 메서드나 공통 상태를 관리하는 데 적합

 

주요 특징

  1. 싱글톤 패턴 구현: object로 선언된 클래스는 자동으로 하나의 인스턴스만 존재 → 개발자가 추가로 객체를 생성할 필요가 없음
  2. 즉시 초기화: 프로그램 시작 시 즉시 초기화되며 해당 객체를 사용할 때 별도로 초기화할 필요가 없다.
  3. 동시성 안전: Kotlin에서 object로 선언된 싱글톤 객체는 스레드로부터 안전하게 동작한다.

 

예시

 
object SystemUiUtils {
    fun HideNavBar() {
        // 
    }
}

↑ 애플리케이션 전역에서 언제든지 호출할 수 있다.

 

SystemUiUtils.hideNavBars()  // 이런식으로 언제든지 호출 가능

 

활용 사례

  1. 유틸리티 클래스: 공통 기능을 제공하는 함수들을 묶어두고 사용할 때 적합.
    1. 예: 파일 처리, 네트워크 작업, 문자열 처리 등을 위한 기능들
  2. 동반 객체(companion object): 클래스 내에서 동반 객체를 정의할 때도 object를 사용.
    1. 클래스의 정적 메서드와 비슷한 역할함.
  3. 익명 객체: 인터페이스나 클래스를 구현할 때

 

정리

object는 Kotlin에서 싱글톤 패턴을 간단하게 구현할 수 있는 키워드로 객체를 생성하지 않고 공통적으로 사용할 메서드나 변수를 관리할 때 유용

728x90
반응형