Kotlin Interface Kotlin은 다중 상속을 지원하지 않는다. 특정 클래스를 동시에 두개 이상의 클래스를 상속 받는것을 의미한다. 이 때문에 자기 타입의 변수나 부모형 타입 변수에만 담을 수 있다. 만약, 생성된 객체의 주소 값을 다양한 타입에 변수에 담을 수 있도록 한다면 인터페이스를 활용하면 된다. Interface 여러 부모 클래스를 상속을 받아서 하나의 클래스에 모으고 싶을 때 사용한다. 인터페이스는 클래스가 아니므로 객체를 생성할 떄 사용할 수 없다. 단, 클래스는 한개 이상의 인터페이스를 구현할 수 있으며, 생성된 객체는 구현한 인터페이스형 참조 변수에 담을 수 있다. 인터페이스에는 추상 메서드와 일반 메서드 모두를 구현해서 사용할 수 있다. 인터페이스는 추상 클래스의 목적이 비슷하지만, 하나의 클래스에 여러 인터페이스를 구현할 수 있는 장점을 가지고 있다. fun main () { val obj1 = Inter1() // Error } interface Inter1 { fun inter1Method1 () { println ( "Inter1 의 interMethod1 입니다 ." ) } fun inter1Method2 () } 인터페이스는 객체를 생성 할 수 없으므로, 에러가 발생한다. Kotlin: Interface Inter1 does not have constructors interface Inter1 { fun inter1Method1 () { println ( "Inter1 의 interMethod1 입니다 ." ) } fun inter1Method2 () } class TestClass3: Inter1() { // Error } 인터페이스는 클래스가 아니므로 상속 받는것처럼 () 를 붙이면 안된다. Kotlin: Class 'TestClass3' is not abstract and doe...
댓글
댓글 쓰기