- 메소드명 과 파라메타 정도만 정의/설계후 인터페이스 사용시 구현(메소드 내부의 기능을 만듬)을 강제함
//예시 interface InterfaceName { // 추상 메서드 선언 fun methodName() // 추상 프로퍼티 선언 val propertyName: Type // 디폴트 메서드 선언 fun defaultMethod() { // 구현 내용 } // 디폴트 프로퍼티 선언 val defaultProperty: Type get() = // 구현 내용 } //----------- 인터페이스 구현한 클래스 ----------- /*인터페이스의 프로퍼티와 메서드를 구현하지 않으면 컴파일 에러가 발생함!!*/ class ClassName : InterfaceName { override fun methodName() { // 구현 내용 } override val propertyName: Type get() = // 구현 내용 }
{ }로 감싸져 있고, 화살표 ->를 사용하여 매개변수와 함수 본문을 구분참고 링크 :
https://codechacha.com/ko/kotlin-lambda-expressions/
https://yiyj1030.tistory.com/237