Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Navigation
- DataBinding
- hilt
- activity
- CoordinatorLayout
- 백준
- sqlite
- HTTP
- recyclerview
- BOJ
- CollapsingToolbarLayout
- 코틀린
- Android
- Coroutine
- kotlin
- Behavior
- notification
- room
- AppBarLayout
- lifecycle
- LiveData
- ViewModel
- 알고리즘
- CustomView
- onMeasure
- Algorithm
- 알림
- onLayout
- 안드로이드
- View
Archives
- Today
- Total
개발일지
Kotlin in A..Z (20) - 추상 클래스 본문
- 추상 클래스 (abstract)
- 추상 클래스는 객체를 인스턴스화 할 수 없다.
- 추상 클래스는 하위 클래스를 어떻게 구현해야 하는지 나타내는 용도로 쓰인다.
- open 키워드를 사용할 필요 없이 상속시킬 수 있음
코드
abstract class Parent {
val normal: Int = 0
// 추상 프로퍼티, 하위 클래스에서 반드시 재정의를 해야함
abstract val abstractVal: Int
fun normalFunction() {
println("Normal Function")
}
// 추상 메소드, 하위 클래스에서 반드시 재정의를 해야함
abstract fun abstractFunction()
}
class Child : Parent() {
// override 키워드를 사용해서 재정의한다.
override val abstractVal: Int = 0
override fun abstractFunction() {
println("Func")
}
}
- object 표현식을 사용한 추상 클래스 객체 인스턴스
코드
abstract class Test {
abstract fun action()
}
fun main() {
val abstractInstance = object : Test() {
override fun action() {
println("Test")
}
}
abstractInstance.action()
}
결과
Test
'Kotlin (코틀린)' 카테고리의 다른 글
Kotlin in A..Z (22) - 내부 클래스 (0) | 2020.07.17 |
---|---|
Kotlin in A..Z (21) - 데이터 클래스 (0) | 2020.07.17 |
Kotlin in A..Z (19) - 인터페이스 (0) | 2020.07.17 |
Kotlin in A..Z (18) - companion object, object, 싱글톤 (0) | 2020.07.16 |
Kotlin in A..Z (17) - 지연 초기화와 by 위임 (0) | 2020.07.15 |
Comments