[kotlin] 코틀린에서 자바 다형성 사용하기

코틀린은 자바와 100% 상호 운용이 가능하므로, 코틀린에서도 자바의 다형성을 사용할 수 있습니다.

다형성(Polymorphism)이란?

다형성이란 하나의 인터페이스나 추상 클래스를 상속받아 여러 클래스가 이를 구현하거나 확장함으로써 다양한 형태로 이용할 수 있는 객체 지향 프로그래밍의 특징입니다.

자바에서는 이러한 다형성을 인터페이스를 활용하여 구현합니다. 코틀린에서도 이러한 다형성이 가능합니다.

코틀린에서 자바 인터페이스 구현하기

아래는 자바에서 정의한 인터페이스 Shape와 이를 구현한 Rectangle 클래스입니다.

// Shape.java
public interface Shape {
    void draw();
}

// Rectangle.java
public class Rectangle implements Shape {
    @Override
    public void draw() {
        System.out.println("Drawing a rectangle");
    }
}

코틀린에서는 인터페이스를 구현할 때 : 기호를 사용하여 구현합니다.

class KotlinRectangle : Shape {
    override fun draw() {
        println("Drawing a rectangle")
    }
}

코틀린에서 자바 다형성 활용하기

코틀린에서는 자바에서처럼 인터페이스를 다형성을 이용하여 사용할 수 있습니다.

아래는 Shape를 인터페이스로 가지고 있는 drawShape 함수입니다.

fun drawShape(shape: Shape) {
    shape.draw()
}

이렇게 작성된 Kotlin 코드는 자바와 동일한 다형성을 활용할 수 있어, 자바로 작성된 코드와의 연동이 용이합니다.

결론

코틀린에서 자바의 다형성을 활용하기 위해서는 자바에서 정의한 인터페이스를 코틜린에서 구현하고 활용할 수 있습니다. 이를 통해 기존의 자바 코드와의 호환성을 유지하면서 새로운 코틀린 기능을 적극적으로 활용할 수 있습니다.

자세한 내용은 다음 참고자료를 참조하시기 바랍니다.

참고자료