본문 바로가기
Android (Kotlin)/kotlin 문법

[Kotlin] abstract vs interface

by 키윤 2023. 12. 3.

출처: https://stackoverflow.com/questions/45616548/kotlin-why-use-abstract-classes-vs-interfaces

차이점

  1. abstract 클래스는 상태 즉 데이터 값을 가질 수 있다.
    따라서 abstract 클래스는 interface에 반해 생성자, init 블록, field/ property를 가질 수 있다.
  2. 클래스는 abstract 클래스 1개만 implement(구현/상속?) 가능하다.
    클래스는 여러개의 interface를 implement할 수 있다.

따라서 abstract 클래스는 상태를 구현할 수 있고 interface는 행동을 구현할 수 있다?

오잉.. 근데 아래 링크에 너무 잘 설명 되어 있다.. 유레카

https://velog.io/@jaeyunn_15/JavaKotlin-Interface-Abstract-class-%EC%B0%A8%EC%9D%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0