loose
이로운 개발하기
loose
전체 방문자
오늘
어제
  • 전체 (207)
    • ☕ Java (24)
    • 📘 Effective Java (9)
    • 🍃 Spring (48)
    • 📖 ORM (9)
    • ☸️ Kubernetes (13)
    • 🐧 Linux (5)
    • 🐋 Docker (5)
    • 🛠️ CI & CD (7)
    • 🕸️ Web (6)
    • 🔗 Distributed System (3)
    • 📜 Js (10)
    • 📈 Database (11)
    • 🗂️ Etc (34)
    • 🧑 Chitchat (11)
    • 📒 문학 (11)
    • 👜 개인 공부 창고 (1)

공지사항

반응형

최근 글

최근 댓글

loose
☕ Java

[Kotlin] Companion Object

☕ Java

[Kotlin] Companion Object

2024. 2. 2. 10:44
반응형
  • 클래스 없이 정의 할 수 있는 객체다.
  • 싱글톤 역할을 한다.
  • 클래스 내부에 정의하지만 클래스 인스턴스와 별개로 존재한다.
  • 정적으로 접근이 가능하다.(상속 불가능)
  • 공통 메서드인 Util Class를 대체할 수 있다.
  • 공통 상수인 Enum 혹은 static을 관리할 수 있다.
class MyClass {
    companion object {
        fun createInstance(name: String): MyClass {
            // 인스턴스 생성 로직
            return MyClass(name)
        }

        const val VERSION = "1.0.0"
    }

    private val name: String

    constructor(name: String) {
        this.name = name
    }

    fun getName(): String {
        return name
    }
}

// Companion object 사용 예시
val instance = MyClass.createInstance("My Instance")
val version = MyClass.VERSION
println(instance.getName())
println(version)
728x90

'☕ Java' 카테고리의 다른 글

[Spring] DTO는 어디서 변환할까? (feat. DDD)  (0) 2024.09.19
[Java] Apache Commons Library에서의 올바른 압축 해제 방법  (0) 2024.03.15
Java Stream 사용법 ( 당신의 Stream은 안녕하십니까? )  (0) 2023.08.26
커스텀 어노테이션과 리플렉션  (0) 2023.07.30
[Kotlin] Optional vs Kotlin Nullable 문법 비교하기  (0) 2023.06.21
    '☕ Java' 카테고리의 다른 글
    • [Spring] DTO는 어디서 변환할까? (feat. DDD)
    • [Java] Apache Commons Library에서의 올바른 압축 해제 방법
    • Java Stream 사용법 ( 당신의 Stream은 안녕하십니까? )
    • 커스텀 어노테이션과 리플렉션
    loose
    loose
    불만하는 사람은 90명, 해결하는 사람은 9명, 리드하는 사람은 1명
    음악과 낭만을 좋아합니다.
    이로운 개발하기불만하는 사람은 90명, 해결하는 사람은 9명, 리드하는 사람은 1명 음악과 낭만을 좋아합니다.
    hELLO. 티스토리 스킨을 소개합니다.
    제일 위로

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.