Language/Kotlin
[Kotlin 객체지향 (4)] 프로퍼티(지연초기화, 위임)와 정적변수(Companion 객체, 최상위함수, object 객체)
jade314
2022. 1. 21. 17:43
728x90
반응형
Companion
- 클래스를 정의할 때 변수나 메서드를 정적 멤버로 정의하면 객체를 생성하지 않고 사용할 수 있다.
- Java에서는 static을 사용하는데 Kotlin은 companion 객체를 사용한다.
- Companion 멤버는 객체 생성 없이 클래스의 이름으로 접근해서 사용한다.
- Kotlin에서 Java의 static 멤버 사용은 다른 점이 없다.
- 만약 Kotlin에서 정의한 Companion 멤버 중 Java에서 사용할 수 있도록 하기 위해서는 @JavaStatic 으로 정의해야 한다.
리플렉션
- 프로그램 실행 중에 프로그램의 구조(객체, 함수, 프로퍼티)를 분석하는 기법
- 객체의 클래스 타입, 클래스 정보, 생성자 정보, 프로퍼티 정보 등을 실행 중에 파악할 수 있다.
728x90
반응형