sitelink1 https://blog.naver.com/jwyoon25/222189261057 
sitelink2  
sitelink3  

버튼 클릭에 따른 동작을 정의하고 싶을때, 우선 클릭 이벤트를 감지하는 리스너가 필요할 것이다.

그리고 버튼 클릭 리스너는 사용자가 버튼을 클릭했을때 onClick이라는 메서드를 호출하게끔 구현되어야 한다.

이를 자바로 먼저 보자.

 

/* 자바 */

button.setOnClickListener(new OnClickListener() {

    @Override

    public void onClick(View view) {

        /* 클릭시 수행할 동작 */

    }

})

 

jdk1.8 이전의 자바에서는 이렇게 구현하는 것이 최선이었다.

즉 크게 복잡한 의미를 지닌 코드가 아닌데, 반드시 작성해야 하는 보일러 플레이트가 너무 많았다.

자바8에서 람다 사용이 가능해지면서 이제는 이렇게 작성하지 않아도 되지만 우리는 코틀린을 공부하고 있으므로 코틀린으로 작성한 코드를 보자.

 

button.setOnClickListener{ /* 클릭시 수행할 동작 */}

 

이 코틀린 코드는 번잡했던 자바 코드와 같은 기능을 한다.

즉, 이 코드는 람다를 메서드가 하나뿐인(함수형 인터페이스) 익명 객체 대신 사용할 수 있다는 사실을 보여준다.