728x90
반응형
안녕하세요
이번 포스팅은 코틀린 클래스를 이용하여 TV 만들기를 해보도록 하겠습니다.
3개의 채널이 존재하는 TV입니다.
fun main(args: Array<String>) {
val tv = TV(listOf<String>("K", "M", "S"))
tv.channelDown()
println(tv.checkCurrentChannel())
tv.channelDown()
println(tv.checkCurrentChannel())
tv.channelDown()
println(tv.checkCurrentChannel())
tv.channelDown()
println(tv.checkCurrentChannel())
}
set 함수는 어떤 값을 넣거나 변경될 때마다 호출되는 함수입니다.
field 함수를 쓰면 무한루프가 되지 않게 막을 수 있습니다.
class TV(val channels : List<String>) {
var onOrOff : Boolean = false
var currentChannelNumber = 0
set(value) {
field = value
if(field > 2) {
field = 0
}
if(field < 0) {
field = 2
}
}
get() {
println("호출되었습니다")
return field
}
// set함수는 어떤 값을 넣을때마다 호출됨
// field를 쓰면 무한루프가 안되게 막을 수 있게 된다
fun switch() {
onOrOff = !onOrOff
}
fun checkCurrentChannel() : String {
return channels[currentChannelNumber]
}
fun channelUp() {
currentChannelNumber = currentChannelNumber + 1
// channels.forEachIndexed { index, value ->
// if(currentChannelNumber == index) {
// currentChannelNumber = currentChannelNumber + 1
// return
// }
// }
}
fun channelDown() {
currentChannelNumber = currentChannelNumber - 1
// channels.forEachIndexed { index, value ->
// if(currentChannelNumber == index) {
// currentChannelNumber = currentChannelNumber - 1
// return
// }
// }
}
}
728x90
반응형
'모바일 > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 상속 (0) | 2021.04.11 |
---|---|
[Kotlin] 코틀린 변수 범위, 접근 제어자, 접근 제어자 예제 (0) | 2021.04.11 |
[Kotlin] 클래스(Class) 실습 은행 계좌 만들기 (0) | 2021.04.09 |
[Kotlin] 클래스(Class) 실습 계산기 만들기 (0) | 2021.04.09 |
[Kotlin] 코틀린 클래스(Class, Class 내 init) (0) | 2021.03.31 |
댓글