Language/Kotlin

[Kotlin 객체지향 (4)] 프로퍼티(지연초기화, 위임)와 정적변수(Companion 객체, 최상위함수, object 객체)

728x90
반응형

Companion

  • 클래스를 정의할 때 변수나 메서드를 정적 멤버로 정의하면 객체를 생성하지 않고 사용할 수 있다.
  • Java에서는 static을 사용하는데 Kotlin은 companion 객체를 사용한다.
  • Companion 멤버는 객체 생성 없이 클래스의 이름으로 접근해서 사용한다.
  • Kotlin에서 Java의 static 멤버 사용은 다른 점이 없다.
  • 만약 Kotlin에서 정의한 Companion 멤버 중 Java에서 사용할 수 있도록 하기 위해서는 @JavaStatic 으로 정의해야 한다.


리플렉션

  • 프로그램 실행 중에 프로그램의 구조(객체, 함수, 프로퍼티)를 분석하는 기법
  • 객체의 클래스 타입, 클래스 정보, 생성자 정보, 프로퍼티 정보 등을 실행 중에 파악할 수 있다.
728x90
반응형