코틀린의 더블 콜론 (::)

인텐트를 공부하다 발견한 아래와 같은 코드

binding.btnMove.setOnClickListener(View.OnClickListener {
            var intent = Intent(mContext, **SecondActivity::class.java**)
            startActivity(intent)
        })

자바에서는 이렇게만 해주면 되었는데

Intent intent = new Intent(mContext, SecondActivity.class);

차이점이 뭘까?

참고한 사이트 : https://woovictory.github.io/2019/08/08/Kotlin-Double-Ref/

*코틀린에서 더블 콜론 (::) 은 리플렉션을 위해 사용한다고 한다

리플렉션* : 코드를 작성하는 시점에는 런타임 상 컴파일 된 바이트 코드에서 내가 작성한 코드가 어디에 위치하는지 알 수 없기 때문에 바이트 코드를 이용해 내가 참조하려는 값을 찾기 위해 사용됨

자바와 코틀린에서의 리플렉션

SomeClass.class → 클래스 그 자체를 리플렉션

someInstance.getClass() → 인스턴스에서 클래스를 리플렉션