나미/안드로이드

코틀린으로 앱개발까지.. 12. 오브젝트 클래스

규남 2023. 12. 22. 01:53
반응형

정말 기초부터 혼자 공부하면서 같이 정리해나가는 정리노트

1. 오브젝트 클래스

  • 코틀린에서 오브젝트 클래스는 익명 클래스를 만들 목적으로 사용
  • 익명 클래스란 말그대로 클래스 이름이 없는 클래스
  • 단 생성시에 선언과 동시에 객체를 생성해야함
  • 선언할때는 object라는 키워드를 넣어서 생성함
  • 보통은 인터페이스나 상위 클래스를 상속받아 특별한 명칭없이 사용할때 사용
package com.example.test

open class Data
{
    open var data = 20
    open fun output()
    {
        println("Data class data = $data")
    }
}

// 익명 클래스 형식으로 선언과 동시에 객체를 생성
// obj = 객체, object : Data(){}는 object 키워드 사용
// object 는 클래스 이름이 아니며 
// class 키워드가 없지만 object 키워드로 익명으로 클래스를 만듬
// 따라서 사용시에는 객체를 이용하여 호출
val obj = object : Data()
{
    override var data = 10
    override fun output()
    {
        println("object data = $data")
    }
}

fun main()
{
    // obj 변수에 Data를 상속받은 object를 선언함에 따라
    // obj 변수로 data에 접근할 수 있다.
    obj.data = 30
    obj.output()

    // 결과는 object data = 30
}
728x90
반응형