Vintage appMaker의 Tech Blog

[kotlin 배우기 github] 24. kotlin에서 java 가져오기 본문

강좌, 연재/앱으로 배우는 kotlin

[kotlin 배우기 github] 24. kotlin에서 java 가져오기

VintageappMaker 2020. 11. 19. 09:58
  1. class가 아닌 변수와 함수는 자동으로 변환한다.
  2. 파일명을 대소문자 변경 후, 뒤에 Kt를 붙인다.
  3. 일반변수는 get변수명(), set변수명(인자) 형식으로 변환됨(val은 get변수명()만됨).
  4. @와 같은 어노테이션을 이용하면 자바에서도 편하게 사용가능함.
  5. @JvmField은 변수로 선언
  6. @JvmStatic은 static 함수로 선언
class JavaExport{
    companion object {
        // 반드시 const로 선언
        const val name = "class name"

        @JvmField var age = 32
        @JvmStatic fun test(){
            println("나이는 $age 입니다.")
        }


    }

    // java에서는 메소드처럼 사용됨
    // @JvmField var normal_variable로 하면 java에서도 멤버변수처럼 사용가능
    var normal_variable = "밖에서 액세스가능"

    fun test2(){
        println("일반메소드")
    }
}

// Kotlin 일반함수와 변수
val name = "name"
fun MyTest(){}

↑ 코틀린 소스

 

public class UsingKotlin {
    public static void main(String[] args) {

        // class가 아닌 변수와 함수는 자동으로 변환한다.
        // 파일명을 대소문자 변경 후, 뒤에 Kt를 붙인다.
        // 그리고 . 연산자 이후에 사용가능
        JavaexportKt.MyTest();
        JavaexportKt.getName();

        // 클래스명은 그대로 사용가능
        // 어노테이션으로 자바에서 사용할 것을 지정해주어야 함.
        System.out.println(JavaExport.name);
        JavaExport.age = 30;
        JavaExport.test();

        JavaExport je = new JavaExport();
        je.test2();

    }
}    

↑ java소스

 

 

 

kotlin 배우기 - github 예제 - Google Play 앱

안드로이드 개발 공식언어로 kotlin이 추가되었습니다. 안드로이드 개발자 입장에서는 배워야 하지만, 그것도 시간과 노력이 필요해서 쉽지가 않습니다. 그런 개발자들을 위해 kotlin의 필수사항

play.google.com

 

Comments