티스토리 뷰

728x90

1. Nested class

내부에 그냥 class 를 정의하면 static으로 처리한다.

java에서는 기본값이 inner class 이지만, kotlin은 기본값이 nested 즉 static class 이다.

class Outer {
    
    class Nested {
    	private val bar: Int = 1
    	fun foo() = bar
    }
}

/* 호출 */
val demo = Outer.Nested().foo() // == 2

 

2. Inner class

class Outer {
    private val bar: Int = 1
    inner class Inner {
    	fun foo() = bar
    }
}

/* 호출 */
val demo = Outer().Inner().foo() // == 1

 

3. Anonymous inner class

recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {

    //오버라이드 함수 내용 생략
    override fun onScrolled() {
    }
    
    override fun onScrollStateChanged() {
    }
})
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함