kotlin에서 object 키워드가 의미하는 바는

클래스를 정의함과 동시에 객체를 생성하는 것이다.

객체 선언(object)을 통해 싱글톤을 언어 자체에서 기본 지원해준다.

특징

Untitled

1. 객체 선언 (Object Declaration)

객체 선언은 싱글턴 패턴을 쉽게 구현할 수 있게 해준다.

싱글턴 패턴 ?

이런 클래스가 필요한 경우 객체 선언을 통해 쉽게 구현할 수 있다.

object Score1 {
    private val students = arrayListOf<Student2>()

    fun printScores() {
        for (student in students) {
            println("${student.name} score : ${student.score} ${student.group}")
        }
    }

    fun addStudents(arrayList: ArrayList<Student2>) {
        students.addAll(arrayList)
    }
}

class Student2(val name: String, var score: Int, var group: String)

fun main() {
    val students = arrayListOf(Student2("Jim", 97, "SunFlower"),
        Student2("Sarah", 100, "Lilly"))
    Score1.addStudents(students)
    Score1.printScores()
}

위와 같이 class 키워드 대신 object를 사용하면 객체가 단 하나 만들어지는 클래스를 만들 수 있고, 그 객체를 사용할 땐 클래스의 이름을 통하여 사용할 수 있다.