Kotlin 멤버 변수 get/set
10 Apr 2019 | Kotlin코틀린에서는 변수 선언만 하면 컴파일러가 자동으로 get/set
함수를 생성해줍니다.
class Person() { var name: String = "" var age: Int = 0 } class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var p = Person() p.name = "snowdeer" p.age = 30 } }
get/set 함수 오버라이딩
class Person() { var name: String = "" set(name) { field = "[-- $name --]" } get() = "Hello, " + field var age: Int = 0 } class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var p = Person() p.name = "snowdeer" p.age = 30 Log.i("snowdeer", "snowdeer] " + p.name) } }
실행 결과는 다음과 같습니다.
Hello, [-- snowdeer --]
만약 외부에서 set
함수에 접근하지 못하게 하려면 private
키워드를 사용하면 됩니다.
class Person() { var name: String = "" private set(name) { field = "[-- $name --]" } get() = "Hello, " + field }