오브젝트

LEEHEES·2022년 7월 16일
0

Kotlin

목록 보기
9/13
post-thumbnail

클래스의 인스턴스를 단 하나만 만들어 사용하도록 하는 코딩 아키텍처 패턴

object 오브젝트명 { ... }
오브젝트명.속성
오브젝트명.함수()
fun main() {
    println(Counter.count)

    Counter.add()
    println(Counter.count)
    Counter.add()
    println(Counter.count)

    Counter.clear()
    println(Counter.count)
}

object Counter{
    var count=0

    fun add(){
        count++
    }

    fun clear(){
        count=0
    }
}

companion object

클래스 내의 오브젝트
(static 과 비슷함)

companion object { ... }
클래스명.속성
클래스명.함수()
fun main() {
    var a = JJ("짜장")
    var b = JJ("짬뽕")

    a.vote()
    a.vote()

    b.vote()
    b.vote()
    b.vote()

    println("짜장 투표수 : ${a.count}")
    println("짬뽕 투표수 : ${b.count}")
    println("최종 투표수 : ${JJ.total}")
}

class JJ(val name: String) {
    companion object {
        var total = 0
    }

    var count = 0
    fun vote() {
        total++
        count++
    }
}

//짜장 투표수 : 2
//짬뽕 투표수 : 3
//최종 투표수 : 5
profile
iOS 개발 공부

0개의 댓글