[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 공식 문서를 참고하시길 바랍니다.