1. 안드로이드 개발에 있어서 자바와 코틀린의 차이

Suyong Lee·2021년 8월 8일
0

Android

목록 보기
1/22
post-thumbnail

자바 코드 - ButtonActivity.java

CheckBox check = findViewById(R.id.check);
imageView image = findViewById(R.id.image);
check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
	public void onChanged(CompoundButton buttonView, boolean isChecked) {
    		if (isChecked) {
            		image.setVisibility(View.VISIBLE);
                    } else {
                    	image.setVisibility(View.GONE);
                    }
         }
});         

코틀린 코드 - ButtonActivity.kt

binding.check.setOnCheckedChangeListener { buttonView, isChecked ->
	binding.image.visibility = if(isChecked).View.VISIBLE else View.GONE
}

코틀린 코드의 경우 viewBinding 속성을 활용했다.

그래서 findViewById 를 사용하지 않으니 코드도 간결해지고 성능도 좋아졌다.

자바코드는 메서드를 쓰려면 클래스 객체를 호출해야 하니까 코드가 어마어마하게 늘어난다. new CompoundButton.OnCheckedChangeListener() 이 부분.

if 조건문을 사용해야 하기 때문에 자바는 람다식 표현도 사용할 수 없었다. 자바의 람다식 다음에는 실행문이 와야 하니까. 그래서 매개변수와 클래스 내 조건문까지 다 달아주느라 코드 길이가 매우 길어졌다. (맞나? 사실 이 이유때문에 람다식을 못 쓴건지는 모르겠다 헤헤)

아무튼 같은 기능의 코드라도 코틀린으로 표현했을 때 코드 길이가 매우 짧아진다는 점. 코틀린 짱.

profile
이수용

0개의 댓글