일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파이썬
- list
- 프로그래머스
- 자바리스트정렬
- 자바
- 백준파이썬
- jetpack
- 파이썬문법
- filternotnull()
- 문자열
- ContentProvider
- programmers
- 자료형
- 티스토리챌린지
- disposableeffect
- android
- 리스트
- 오블완
- 백준
- Python
- 자바set
- Hilt
- compose
- composelifecycle
- Kotlin
- Provider
- nullpointerexception방지
- Dependency
- Java
- 배열
Archives
- Today
- Total
study gomi
[Kotlin/코틀린] Object 본문
728x90
반응형
object ?
- Kotlin에서 사용하는 특별한 키워드
- 싱글톤 객체(singleton object)를 정의할 때 사용.
- 싱글톤은 클래스의 인스턴스가 오직 하나만 존재하는 디자인 패턴
- object 키워드를 사용하면 별도의 클래스를 만들고 인스턴스를 생성하는 과정을 생략하고 즉시 하나의 인스턴스가 생성된다.
- object로 선언된 객체는 애플리케이션 전역에서 하나의 인스턴스만 존재하므로 공통된 기능을 제공하는 유틸리티 메서드나 공통 상태를 관리하는 데 적합
주요 특징
- 싱글톤 패턴 구현: object로 선언된 클래스는 자동으로 하나의 인스턴스만 존재 → 개발자가 추가로 객체를 생성할 필요가 없음
- 즉시 초기화: 프로그램 시작 시 즉시 초기화되며 해당 객체를 사용할 때 별도로 초기화할 필요가 없다.
- 동시성 안전: Kotlin에서 object로 선언된 싱글톤 객체는 스레드로부터 안전하게 동작한다.
예시
object SystemUiUtils {
fun HideNavBar() {
//
}
}
↑ 애플리케이션 전역에서 언제든지 호출할 수 있다.
SystemUiUtils.hideNavBars() // 이런식으로 언제든지 호출 가능
활용 사례
- 유틸리티 클래스: 공통 기능을 제공하는 함수들을 묶어두고 사용할 때 적합.
- 예: 파일 처리, 네트워크 작업, 문자열 처리 등을 위한 기능들
- 동반 객체(companion object): 클래스 내에서 동반 객체를 정의할 때도 object를 사용.
- 클래스의 정적 메서드와 비슷한 역할함.
- 익명 객체: 인터페이스나 클래스를 구현할 때
정리
object는 Kotlin에서 싱글톤 패턴을 간단하게 구현할 수 있는 키워드로 객체를 생성하지 않고 공통적으로 사용할 메서드나 변수를 관리할 때 유용
728x90
반응형
'basic > kotlin' 카테고리의 다른 글
[kotlin/코틀린] 리스트 등의 컬렉션에서 null 값을 제거하는 방법 - filterNotNull() (0) | 2024.12.03 |
---|---|
[Kotlin/코틀린] 숫자 문자열 검사 후 정수형으로 반환하기 (0) | 2024.10.18 |
[kotlin/코틀린] 리스트 자르기 - List의 일부 가져오기 (0) | 2024.10.18 |
Kotlin/코틀린 완전 기본, 기초 문법 모음 (입문) (1) | 2024.01.17 |