무단 도용 및 복제, 사용 저작권 안내
수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유),
불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!
1. 정적 멤버
•
클래스를 정의할 때 변수나 메서드를 정적 멤버로 정의하면 객체를 생성하지 않고 사용할 수 있다.
•
Java에서는 static을 사용하는데 Kotlin은 companion 객체를 사용한다.
companion object {
val a2:Int = 200
fun test2(){
println("test2")
}
}
Kotlin
복사
2. Companion 멤버 사용하기
•
Companion 멤버는 객체 생성 없이 클래스의 이름으로 접근해서 사용한다.
println("TestClass.a2 : ${TestClass.a2}")
TestClass.test2()
Kotlin
복사
3. Kotlin와 Java 사이에서 사용하기
•
Kotlin에서 Java의 static 멤버 사용은 다른 점이 없다.
println("JavaMain.java2 : ${JavaMain.java2}")
JavaMain.javaTest2()
Kotlin
복사
•
만약 Kotlin에서 정의한 Companion 멤버 중 Java에서 사용할 수 있도록 하기 위해서는 @JavaStatic 으로 정의해야 한다.
companion object {
@JvmStatic val a2:Int = 200
@JvmStatic fun test2(){
println("test2")
}
}
Kotlin
복사
4. 학습 정리
정리
•
Companion 멤버는 객체 생성 없이 클래스의 이름을 통해 접근해 사용한다.