nested class
-
[TiL]2023년 5월 3일TiD 2023. 5. 3. 01:46
#Kotlin inner, nested Class (RecyclerView 에서 Adapter와 ViewHolder) 리사이클러뷰 adapter를 사용하려다가 과거에는 viewholder를 항상 어뎁터의 inner 클래스로 작성했었는데 코드리뷰에서 항상 inner로 사용하지 말라는 조언을 듣기도 했고 메모리누수가 발생한다는 사실을 알고 있었지만 제대로 알지 못 했고 항상 그냥 inner 클래스로 사용했기에 알아봤다. (자바는 기본적으로 inner 코틀린은 nested다.) 어떤 클래스의 inner클래스를 작성하고 사용하게 되면 항상 묵시적으로 외부 클래스의 변수들을 참조하게 된다. (그래서 생성자에 없어도 그냥 사용할 수 있다.) 그렇게 되면 사용하지 않는 데이터들도 드러나지 않게 계속 갖고있기 때문에 ..