[Kotlin] Abstract Class (추상 클래스) / Anonymous inner Class(추상 익명 클래스) / Interface(인터페이스) / 다형성
Abstract Class (추상 클래스) 자손 클래스들에서 어자피 재정의 해서 사용되기 때문에 조상 입장에서는 구현할 필요가 없거나 조상 레벨에서 아직 작성할 수 없는 메서드에 대해 추상클래스임을 선언한다. 작성 방법 : 선언부만 작성하고 구현부를 세미콜론(;)으로 대체하고 구현부가 없다는 의미로 abstract 키워드를 선언부에 추가한다. 또한, 클래스가 abstract 메서드를 포함하고 있는 경우 반드시 클래스 선언부에도 abstract 키워드를 추가해야한다. 이런 형태의 프로그래밍 기법을 'abstract method design pattern'이라고 한다. 구현된 함수와 구현되지 않은 함수가 모두 정의 되어 있다. 단독으로 객체를 생성할 수 없다. 추상 함수를 반드시 override 해주어야한다..