한 걸음 두 걸음

Kotlin 10 ] Data Class and 중첩클래스(Nested classes) 본문

Language/Kotlin

Kotlin 10 ] Data Class and 중첩클래스(Nested classes)

언제나 변함없이 2019. 5. 20. 10:41
반응형

데이터클래스

data class User(val name : String, var a : Int)
//기본 생성자는 1개 이상이어야합니다. var 이나 val
//이는 데이터값만 가지고있는 클래스입니다.

//abstrct open sealed inner 등이 안됩니다.

데이터클래스를 활용하면 equals hashCode copy toStirng과 같은 함수를 자동으로 만들어줍니다.
단, 기본 프로퍼티로 지정된 변수에 대해서만 생성됩니다.

흐호호


중첩클래스

  1. 중첩클래스
    class A{
     private val b : Int = 1;
     class N {
         fun foo() = 2; //N클래스는 b에 접근할 수 없습니다.
     }
    }
    

var demo = A.N().foo() // 2


2. 내부클래스(inner)
이는 바깥쪽 클래스 멤버에 접근가능합니다.

class A{
private val b :Int = 1;
inner class I {
fun foo() = b;
}
}

val demo = A.N().foo() // b

반응형

'Language > Kotlin' 카테고리의 다른 글

Kotlin 코틀린 ] Object Express and Declarations  (0) 2019.05.27
Kotlin 09 ] Properties and Fields  (0) 2019.05.20
Kotiln 08 ] 상속  (0) 2019.05.20
Kotlin 07 ] 클래스와 상속  (0) 2019.05.20
Kotlin ] 06 Package, Return and Jumps  (0) 2019.05.20