기존 클래스
object쓰면사용하는 이유
사용하는 곳
특징
사용법
object ObjectSerialNumber {
private lateinit var random: Random
fun genarateSerialNumber() : String {
if (!this::random.isInitialized) {
random = Random(System.currentTimeMillis())
}
return abs(random.nextInt()).toString()
}
}
//간단하게
object a{
var b
fun c
}
a.b
a.c()```kotlin
fun main(){
println(Counter.count)
Counter.countUp()
println(Counter.count)
}
object Counter { //인스턴스 자체가 객체이므로 생성자 사용x
var count = 0
fun countUp(){
count++
}
fun clear(){
count = 0
}
}
```사용하는 이유
사용하는 곳
특징
사용법
fun main(){
var jj = food("자장")
var jp = food("짬뽕")
jj.vote()
jp.vote()
jp.vote()
println("${jj.name} : ${jj.count}") //1
println("${jp.name} : ${jp.count}") //2
println("총계 : ${food.total}") //3
}
class food(val name : String){
var count = 0 //개별 투표수
companion object{
var total = 0 //전체 투표수
}
fun vote(){
total++
count++
}
}