경험의 기록

이벤트가 발생하면 이벤트를 바라보고 있는 옵저버에게 변경된 데이터를 보내는 방식

fun main() {
    EventPrinter().start()
}

interface EventListener{
    fun onEvent(count : Int)
}

class Counter(var listener : EventListener){
    fun count(){
        for(i in 1..100){
            if(i%5 == 0) listener.onEvent(i)
        }
    }
}

class EventPrinter : EventListener{
    override fun onEvent(count : Int){
        print("${count} ")
    }
    fun start(){
        val counter = Counter(this)
        counter.count()
    }
}


 

 

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading