[kotlin] 코틀린에서 자바 프로퍼티 접근하기
자바 클래스에 정의된 프로퍼티에 코틀린에서 접근하는 방법을 알아보겠습니다.
1. 자바 클래스 정의하기
public class MyClass {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
위의 MyClass는 name이라는 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)
위의 코드에서는 MyClass의 name 프로퍼티에 접근하기 위해 자바의 리플렉션을 사용하였습니다.
이처럼 코틀린에서 자바 클래스의 프로퍼티에 접근하는 방법에 대해 알아보았습니다. 해당 내용을 활용하여 코틀린과 자바 간의 상호 운용성을 높일 수 있을 것입니다.
자세한 내용은 Kotlin과 Java 공식 문서를 참고하시길 바랍니다.