1. 기본 개념인터페이스 (Interface)객체가 어떤 동작을 할 수 있는지를 정의하는 계약(Contract)메서드의 시그니처(이름, 매개변수, 반환 타입)만 선언하며 구현은 제공하지 않음(Kotlin에서는 디폴트 메서드 구현도 가능함.)클래스는 여러 개의 인터페이스를 구현(implement) 가능interface Flyable { fun fly()}class Bird : Flyable { override fun fly() { println("Bird is flying") }} 상속 (Inheritance)객체 간의 is-a 관계를 정의상속받은 클래스는 부모 클래스의 속성과 메서드를 사용할 수 있으며, 필요하면 재정의(override) 가능단일 상속만 허용 (Kotlin은 ..