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{ /* 클릭시 수행할 동작 */}
이 코틀린 코드는 번잡했던 자바 코드와 같은 기능을 한다.
즉, 이 코드는 람다를 메서드가 하나뿐인(함수형 인터페이스) 익명 객체 대신 사용할 수 있다는 사실을 보여준다.