Skip to content

14. Object keyword

VintageAppMaker edited this page Dec 9, 2018 · 1 revision

Object keyword

  • 3가지 형태로 사용된다.
  • class명 앞에 사용해서 static class로 선언
  • class 내부의 특정멤버들만 static (companion object)
  • 이름없는 객체(클래스에서 상속)를 처리할 때
  1. 소스코드

     fun main (args : Array <String>){
         // 1. 클래스 전체를 싱글톤으로 사용할 때, 마치 java의 static class
         SingleTon.showMessage("싱글톤입니다.!")
         val obj = StaticTest()
         println(obj.msg)
    
         // 2. companion object
         println( StaticTest.staticVar )
         StaticTest.staticFunc()
    
         // 3. Android에서 자주사용됨
         var obj2 = object : fakeClickHandler(){
             override fun onClick() {
                 println ("Click!!")
             }
         }
         obj2.onClick()
     }
     
     object SingleTon {
         var showMessage = { msg : String -> println(msg) }
     }
    
     class StaticTest{
         var msg: String = "일반객체로 생성하면 이 변수를 액세스 가능함"
         // companion object {} 안에서 구현해야 static 가능
         companion object {
             var staticVar = "StaticTest.staticVar"
             fun staticFunc()= println("StaticTest.staticFunc")
         }
     }
    
     abstract class fakeClickHandler{
         abstract fun onClick()
     }
    
  2. 디버깅 & 설명

  3. 왜 사용하는가?

    
    

  4. Android Studio에 적용하기