[Kotlin] 상속과 인터페이스

[원본 링크]

상속은 키워드 없이 그냥 이렇게 한다.
class 클래스명: 상속할타입, ...

그리고 자바에서 final class만 아니면 상속이 가능했던 것과 반대로,
코틀린에서는 open class만이 상속의 대상이 될 수 있다.

메서드도 open fun만 오버라이딩할수 있고, 오버라이드할 경우 override 키워드를 반드시 붙여야 한다.

좀 까다롭다.


image

image 참고로 상위 클래스의 생성자는 어떻게든 호출해야한다.
위의 코드처럼 클래스 옆에다가 메인 생성지 형식으로 때려박든, 추가 생성자에서 super()를 호출하든 말이다.

상위생성자에 따로 전달할게 없으면 위 코드처럼 그냥 Super()만 붙이면 된다.


인터페이스는 뭐 별거없다. image

image


추상 클래스도 자바와 별 차이가 없다.
abstract 키워드를 쓴다. image