Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 이전에 코틀린 클래스와 프로퍼티 기초를 배웠다. 이제부터 코틀린 클래스, 객체, 인터페이스에 대해 더 깊이 다룰 것이다. 먼저 코틀린의 클래스 계층을 정의하는 방식과 자바의 방식을 비교하자. 코틀린 인터페이스 코틀린 인터페이스는 자바 8 인터페이스와 비슷하다. 코틀린 인터페이스 안에는 추상 메서드 뿐 아니라 구현이 있는 메서드도 정의할 수 있다. (자바 8 의 디폴트 메서드처럼) 하지만 아무런 상태도 들어갈 수는 없다. 간단한 인터페이스 `Clickable` interface Clickable { fun click() } 이 인터페이스를 구현하는 구현 클래스(추상 클래스가 아닌)는 `cli..