#34 kotlin basic: class, inheritance
This commit is contained in:
40
kotlin-basic/src/main/kotlin/10_Inheritance.kt
Normal file
40
kotlin-basic/src/main/kotlin/10_Inheritance.kt
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
open class Dog {
|
||||||
|
open var age: Int = 0
|
||||||
|
|
||||||
|
open fun bark() {
|
||||||
|
println("멍멍")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Bulldog(final override var age: Int = 0): Dog() {
|
||||||
|
|
||||||
|
final override fun bark() {
|
||||||
|
super.bark()
|
||||||
|
println("컹컹")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class Developer {
|
||||||
|
|
||||||
|
abstract var age: Int
|
||||||
|
abstract fun code(language: String)
|
||||||
|
}
|
||||||
|
|
||||||
|
class Backend(override var age: Int = 0): Developer() {
|
||||||
|
|
||||||
|
override fun code(language: String) {
|
||||||
|
println("I code with $language")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main() {
|
||||||
|
// val dog = Bulldog(age = 2)
|
||||||
|
// println(dog.age)
|
||||||
|
// dog.bark()
|
||||||
|
|
||||||
|
val backendDeveloper = Backend(age = 20)
|
||||||
|
println(backendDeveloper.age)
|
||||||
|
backendDeveloper.code("Kotlin")
|
||||||
|
}
|
||||||
|
|
||||||
27
kotlin-basic/src/main/kotlin/9_Class.kt
Normal file
27
kotlin-basic/src/main/kotlin/9_Class.kt
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
class Coffee (
|
||||||
|
var name: String = "", // 기본값 지정
|
||||||
|
var price: Int = 0,
|
||||||
|
) {
|
||||||
|
val brand: String
|
||||||
|
get() {
|
||||||
|
return "스타벅스"
|
||||||
|
}
|
||||||
|
|
||||||
|
var quantity: Int = 0
|
||||||
|
set(value) {
|
||||||
|
if (value > 0) {
|
||||||
|
field = value // 필드에 접근하여 데이터 저장
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class EmptyClass
|
||||||
|
|
||||||
|
fun main() {
|
||||||
|
val coffee = Coffee();
|
||||||
|
coffee.name = "아이스 아메리카노"
|
||||||
|
coffee.price = 2000
|
||||||
|
coffee.quantity = 1
|
||||||
|
|
||||||
|
println("${coffee.brand}: ${coffee.name} ${coffee.quantity}개 가격은 ${coffee.price}원")
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user