#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