
Abstract class vs interface in Kotlin
·
KOTLIN
서론우아한테크코스의 미션을 진행하며 abstract class와 interface의 차이에 대해서 많은 고민을 하게 되었습니다. 추상 클래스와 인터페이스의 공통점은 추상화입니다. 추상화를 통해 의존성 역전 원칙(DIP)을 적용할 수 있게 되며, 구현체를 사용하는 곳에서 추상화에 의존함으로써 다형성을 통해 구현체를 자유롭게 교체할 수 있습니다. 또한 반대로 클래스를 재활용 할 수 있다는 점에서 클래스 간의 결합도를 느슨하게 만들어 유지보수성을 향상시킬 수 있습니다. 그렇다면 인터페이스와 추상 클래스는 각각 어떤 차이점이 있을까요? 근간에 말하는 상속을 지양하라는 말엔 어떤 이유가 있을까요 ? 이에 대해 알아보겠습니다.📌 상태를 가질 수 있는가 ?인터페이스는 상태를 가질 수 없다. 그러나, 추상 클래스..