diff --git a/kotlin-basic/src/main/kotlin/10_Inheritance.kt b/kotlin-basic/src/main/kotlin/10_Inheritance.kt new file mode 100644 index 00000000..197ab8e0 --- /dev/null +++ b/kotlin-basic/src/main/kotlin/10_Inheritance.kt @@ -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") +} + diff --git a/kotlin-basic/src/main/kotlin/9_Class.kt b/kotlin-basic/src/main/kotlin/9_Class.kt new file mode 100644 index 00000000..907a5141 --- /dev/null +++ b/kotlin-basic/src/main/kotlin/9_Class.kt @@ -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}원") +}