[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 코드는 자바와 동일한 다형성을 활용할 수 있어, 자바로 작성된 코드와의 연동이 용이합니다.
결론
코틀린에서 자바의 다형성을 활용하기 위해서는 자바에서 정의한 인터페이스를 코틜린에서 구현하고 활용할 수 있습니다. 이를 통해 기존의 자바 코드와의 호환성을 유지하면서 새로운 코틀린 기능을 적극적으로 활용할 수 있습니다.
자세한 내용은 다음 참고자료를 참조하시기 바랍니다.