안드로이드 개발자로서 개발을 진행하거나 공부를 이어 가다보면, 알지 못하는 새로운 어노테이션을 많이 발견하게 됩니다. 그럴때마다 그 주제에 대한 정리를 하자니 필요할 때 필요한 키워드가 기억이 안나는 경우가 있더군요. 그래서 궁금한 어노테이션을 발견할 때 마다 여기에 하나씩 적어둘까 합니다.
@CallSuper 어노테이션
위의 어노테이션을 사용하는 메소드를 상속할 때에는 무조건 super 키워드를 사용해야 한다는 어노테이션입니다. 사용 이유는 이 메소드를 상속하는 다른 클래스에서 이 메소드를 오버라이딩할 때 꼭 이 메소드에 선언되어 있는 로직을 실행시킨 이후에 실행시키기를 원할 때 사용합니다.
open class Animal {
@CallSuper // @CallSuper annotation
open fun makeSound() {
println("making sound...")
}
}
class Dog : Animal() {
override fun makeSound() {
// compilation error
println("bark!")
}
}
class Cat : Animal() {
override fun makeSound() {
// compilation error
println("meow~")
}
}
출처: https://holika.tistory.com/72 [Uing? Uing!!]
출처에 적힌 블로그의 예제를 가져왔는데 여기 설명이 제일 간단하게 되어 있는 것 같아서 첨부했습니다.
지금은 하나뿐이라 조금 민망하지만 시간이 지나면 지날수록 더 늘어나겠죠 뭐...
'안드로이드 > 코틀린' 카테고리의 다른 글
안드로이드 jetpack compose - modifier (0) | 2022.04.17 |
---|---|
안드로이드 jetpack compose 공부 - 1 (0) | 2022.03.01 |
jetpack compose - 코드 기반 UI 작성 (0) | 2022.02.11 |
안드로이드 리사이클러뷰 데코 (0) | 2022.01.07 |
recyclerView 스크롤 이벤트 작성 (0) | 2021.12.29 |
댓글