[kotlin]Object Expression

2018. 6. 18. 17:28kotlin-이론

Object Expression and Declarations



Object의 용도

- 어떤 클래스에서 조금 변형된 객체를 생성할 때 
- 새로운 subclass의 명시적인 선언 없이 객체생성 

Object Expression 
-Java의 익명객체와 같은 역활을 한다. object:Runnable을 쓰는 순간 바로 객체가 생성되는 것이고 변수에도 집어 넣을 수 있다. 

object Expression이 없을 때는 클래스를 만들어서 사용했지만 


하지만 object Expression을 사용하면 클래스의 생성없이 아래와 같이 사용할 수 있다. 


그리고 여기서 람다식을 사용해주면 훨씬 간단하게 사용할 수 있다. 




그리고 꼭 상속을 받을 필요는 없다.  객체명.a 객체명.b와 같이 접근할 수 있다. 





Object Expression 제약 조건



익명객체가 public function이나 public property에서 호출될때 super타입으로 동작되서 익명객체에 추가된 

멤버에 접근 불가능하다. 



Object Expression 특징 


1. 익명클래스 밖에있는 변수에 접근할 수 있다.  자바에서는 변수가 final이여야 했지만 코틀린에서는 상관없다.





'kotlin-이론' 카테고리의 다른 글

Kotlin Renewal  (0) 2020.11.13
[kotlin] Object Declarations  (0) 2018.06.18
[kotlin] Nested Class And Inner Class  (0) 2018.06.18
[kotlin]Data Class  (0) 2018.06.18
[kotlin] kotlin 강의 properties2  (0) 2018.06.17