강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

v44ads님의 프로필 이미지
v44ads

작성한 질문수

모던 안드로이드 - Jetpack Compose 입문

Image, Card, State

ImageCard를 만들 때 질문입니다!!

작성

·

256

0

강의 잘 듣고 있습니다!

ImageCard에 인자를 추가하여

ImageCard(
                modifier = Modifier
                    .fillMaxWidth(0.5f)
                    .padding(16.dp),
                isFavorite = isFavorite,
            ) { favorite -> isFavorite = favorite}

 

위와 같이 작성했는데, ImageCard는 3개의 인자를 가지고 마지막 인자는 onTabFavorite으로  callback 함수입니다!
왜 마지막 인자로 넣지 않고 밖으로 빼서 {} 중괄호를 사용한 것인지 궁금합니다!

 

답변 1

1

오준석님의 프로필 이미지
오준석
지식공유자

코틀린 문법에서 마지막 인자가 함수라면 바깥으로 뺄 수 있습니다.

다음 링크에서 filter 함수 다음에 () 를 해서 일반 인자처럼 받아도 되지만 { } 를 쓰는 것과 같은 이유이고요.

https://kotlinlang.org/docs/idioms.html#filter-a-list

중간에 함수가 있을 때는 이 문법을 사용할 수 없고 항상 마지막에 함수를 받을 때만 가능합니다.

 

아. 이유는 가독성이 좋아지는 것 같습니다.

v44ads님의 프로필 이미지
v44ads
질문자

확실히 parameter로 주는 것보다 가독성 면에서 좋아보이네요!!

친절한 답변 감사합니다 :)

v44ads님의 프로필 이미지
v44ads

작성한 질문수

질문하기