class와 inheritance
interface
를 구현할 때는 괄호가 없어야하고,class
를 상속할 때는 괄호가 있어야한다.class
는 기본적으로final
이며, 상속을 위해서open
키워드가 필요하다.상위 객체의 생성자를 사용해야하며 이 때 프로퍼티 역시 기본적으로
final
이다.메소드 역시 기본적으로
final
이므로 하위 객체에서override
하고 싶다면open
키워드를 붙이자.
Kotlin의
abstract class
는 Java와 유사한데, 추상 메소드에 한해abstract
키워드를 붙이며 반드시 구현해야 한다.abstract
메소드는 반드시override
해야하므로 당연히open
상태이다. 하위 객체에서override
를 금지시키기 위해선final
키워드가 필요하다.
물론, 상속보단 조합.
Last updated