[kotlin] 코틀린에서 자바 프로퍼티 접근하기

자바 클래스에 정의된 프로퍼티에 코틀린에서 접근하는 방법을 알아보겠습니다.

1. 자바 클래스 정의하기

public class MyClass {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

위의 MyClassname이라는 private 프로퍼티를 가지고 있습니다.

2. 코틀린에서 접근하기

코틀린에서 자바 클래스를 이용하여 프로퍼티에 접근하는 방법은 간단합니다. 아래와 같이 클래스를 인스턴스화하고, 접근하고자 하는 프로퍼티에 접근 연산자(.)를 사용하면 됩니다.

val myClass = MyClass()
val name = myClass.name // 프로퍼티에 접근
myClass.name = "John"    // 프로퍼티에 값을 할당

위와 같이 자바 클래스의 게터와 세터 메서드를 직접 호출할 필요 없이, 코틀린에서 직접 프로퍼티에 접근할 수 있습니다.

3. 컴파일 타임에 프로퍼티 정보 이용하기

코틀린은 리플렉션(reflection)을 이용하여 컴파일 타임에 클래스의 메타데이터에 접근할 수 있습니다. 따라서 자바 클래스의 프로퍼티에 접근할 때에도, 코틀린의 리플렉션을 사용할 수 있습니다.

val property = MyClass::class.java.getDeclaredField("name")
property.isAccessible = true
val value = property.get(myClass)

위의 코드에서는 MyClassname 프로퍼티에 접근하기 위해 자바의 리플렉션을 사용하였습니다.

이처럼 코틀린에서 자바 클래스의 프로퍼티에 접근하는 방법에 대해 알아보았습니다. 해당 내용을 활용하여 코틀린과 자바 간의 상호 운용성을 높일 수 있을 것입니다.

자세한 내용은 KotlinJava 공식 문서를 참고하시길 바랍니다.