[Kotlin] Abstract , Interface Class
·
JVM/Kotlin
Abstract class 와 Interface 는 왜 필요한가? 프로그래밍에서 추상화라는 단어를 듣는다. "무엇을 할것인지"는 노출하고 "어떻게 동작하는지"는 숨기는 것이다. Abstract class와 Interface 는 추상화를 돕는 녀석들이다. 추상화가 필요할 때, 둘중 어느 것을 사용해야할지 차이점을 중심으로 정리해보자. Abstract Class 목적 abstract method, field 를 가질 수 있고 구현부도 가질 수 있다. 특징 변수의 경우 초기화 되지 않는다. 메소드의 경우도 {} body 부분을 갖지 않는다. abstract class간에도 상속 가능하다. Interface 상속받을 서브 클래스에게 구현할 메소드와 변수의 원형(signature)을 알려주어 클래스별 공통 분모만..