#32 Kotlin Koans Properties/Properties 해설
1 소개
Kotlin 공식 레퍼런스의 Kotlin Koans Properties/Properties의 해설 기사입니다.
Kotlin Koans를 통해 Kotlin을 배우는 사람들의 도움이 되길 바랍니다.
다만, 레퍼런스를 자력으로 읽는 힘을 기르고 싶은 분은,
곧이 기사를 보지 마십시오!
일단 각자 도전하고 나서 볼 수 있다고 생각합니다
2 세터 게터
#6 Kotlin Koans Introduction/Data classes 해설 그럼 세터 게터를 생략 할 수 있다고 전했습니다만,
이번에는 생략하지 않았을 때의 코드를 아래에 적습니다.
exampleSetterGetter
//セッター・ゲッターを省略したコード。
fun usePersonInfo(){
val p = Person()
p.name = "名前"
p.age = 20
val n = p.name
val a = p.age
}
class Person{
var name : String = ""
var age : Int = 0
}
-------------------------------------------------------------------------------------------
//セッター・ゲッターを記述したコード。
fun usePersonInfo(){
val p = Person()
p.name = "名前"
p.age = 20
val n = p.name
val a = p.age
}
class Person{
var name : String = ""
//nameプロパティのゲッター
get(){
return field
}
//nameプロパティのセッター
set(x: String){
field = x
}
var age : Int = 0
//ageプロパティのゲッター
get(){
return field
}
//ageプロパティのセッター
set(y: Int){
field = y
}
}
setter(set()), getter(get())는 각 속성에 각각 존재하며 속성 정의 바로 아래에 정의됩니다.
세터, 게터 내의 필드는 각 속성의 값을 가리킵니다.
클래스외에서 프로퍼티에 값을 세트 할 때 세터를, 클래스외로부터 프로퍼티을 이용하고 싶을 때에 게터를 이용합니다.
( 친절한 Kotlin 입문 (주식회사 컷 시스템) 을 참고로 했습니다.)
3 Properties/Properties 해설
Kotlin Koans Properties/Properties 의 해설입니다.
수시로 본 사이트의 내용을 인용하겠습니다.
본문과 코드를 살펴보자.
Read about properties in Kotlin.
Add a custom setter to PropertyExample.propertyWithCounter so that the counter property is incremented every time propertyWithCounter is assigned to.
Propertiesclass PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set
}
세터를 이용해, propertyWithCounter가 참조될 때마다 counter의 수치에 1을 더한다(propertyWithCoutner에는 임의의 숫자를 대입한다)와 같이 구현합니다.
세터(set())의 인수는 임의의 수치를 받기 때문에, 이하와 같은 구현이 됩니다.
Propertiesclass PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set(v: Int?)
}
( v
는 임의의 인수로 OK입니다.)
인수로서 건네준 수치는 세터의 field
에 대입되어 counter 에는 1
가 더해지므로,
대답 코드는 다음과 같습니다.
Propertiesclass PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set(x: Int?){
field = x
counter++
}
}
(물론 counter = counter + 1
하지만 OK입니다.)
4 마지막으로
다음은 Kotlin Koans Properties/Lazy property의 해설을합니다.
Reference
이 문제에 관하여(#32 Kotlin Koans Properties/Properties 해설), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/G-o/items/44affadb97281bbd0be3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#6 Kotlin Koans Introduction/Data classes 해설 그럼 세터 게터를 생략 할 수 있다고 전했습니다만,
이번에는 생략하지 않았을 때의 코드를 아래에 적습니다.
exampleSetterGetter
//セッター・ゲッターを省略したコード。
fun usePersonInfo(){
val p = Person()
p.name = "名前"
p.age = 20
val n = p.name
val a = p.age
}
class Person{
var name : String = ""
var age : Int = 0
}
-------------------------------------------------------------------------------------------
//セッター・ゲッターを記述したコード。
fun usePersonInfo(){
val p = Person()
p.name = "名前"
p.age = 20
val n = p.name
val a = p.age
}
class Person{
var name : String = ""
//nameプロパティのゲッター
get(){
return field
}
//nameプロパティのセッター
set(x: String){
field = x
}
var age : Int = 0
//ageプロパティのゲッター
get(){
return field
}
//ageプロパティのセッター
set(y: Int){
field = y
}
}
setter(set()), getter(get())는 각 속성에 각각 존재하며 속성 정의 바로 아래에 정의됩니다.
세터, 게터 내의 필드는 각 속성의 값을 가리킵니다.
클래스외에서 프로퍼티에 값을 세트 할 때 세터를, 클래스외로부터 프로퍼티을 이용하고 싶을 때에 게터를 이용합니다.
( 친절한 Kotlin 입문 (주식회사 컷 시스템) 을 참고로 했습니다.)
3 Properties/Properties 해설
Kotlin Koans Properties/Properties 의 해설입니다.
수시로 본 사이트의 내용을 인용하겠습니다.
본문과 코드를 살펴보자.
Read about properties in Kotlin.
Add a custom setter to PropertyExample.propertyWithCounter so that the counter property is incremented every time propertyWithCounter is assigned to.
Propertiesclass PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set
}
세터를 이용해, propertyWithCounter가 참조될 때마다 counter의 수치에 1을 더한다(propertyWithCoutner에는 임의의 숫자를 대입한다)와 같이 구현합니다.
세터(set())의 인수는 임의의 수치를 받기 때문에, 이하와 같은 구현이 됩니다.
Propertiesclass PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set(v: Int?)
}
( v
는 임의의 인수로 OK입니다.)
인수로서 건네준 수치는 세터의 field
에 대입되어 counter 에는 1
가 더해지므로,
대답 코드는 다음과 같습니다.
Propertiesclass PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set(x: Int?){
field = x
counter++
}
}
(물론 counter = counter + 1
하지만 OK입니다.)
4 마지막으로
다음은 Kotlin Koans Properties/Lazy property의 해설을합니다.
Reference
이 문제에 관하여(#32 Kotlin Koans Properties/Properties 해설), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/G-o/items/44affadb97281bbd0be3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set
}
class PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set(v: Int?)
}
class PropertyExample() {
var counter = 0
var propertyWithCounter: Int? = null
set(x: Int?){
field = x
counter++
}
}
다음은 Kotlin Koans Properties/Lazy property의 해설을합니다.
Reference
이 문제에 관하여(#32 Kotlin Koans Properties/Properties 해설), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/G-o/items/44affadb97281bbd0be3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)