CodeKata
android 파헤치기
Intent ?
어떤 메시지를 담고 있는 하나의 객체이다.
메시지는 어떤 액티비로 이동할지, 어떤 서비스를 시작할지 등 목적지 정보를 갖고 있거나 옮겨야 하는 데이터를 갖고 있을 수도 있다.
- 액티비티 시작 : 인텐트를 startActivity()로 전달하면 액티비티의 새 인스턴스를 시작한다.
Scope function(범위 지정 함수)
특정 객체에 대한 작업을 블록 안에 넣어 실행할 수 있도록 하는 함수이다.
블록은 특정 객체에 대해 할 작업의 범위가 된다.
1) apply
수신객체 내부 프로퍼티를 변경한 다음 수신객체 자체를 반환하기 위해 사용되는 함수이다.
사용하면 좋은점? 람다식의 수신객체가 apply의 수신객체이기 때문에 수신객체의 대한 명시를 생략 가능하다.
val person = Person().apply {
name = "kotlin"
age = 7
}
2) run
apply와 똑같이 동작하지만 수신 객체를 return 하지 않고 run 블록의 마지막 라인을 return하는 범위 지정 함수이다.
수신객체에 대해 특정한 동작을 수행한 후 결과 값을 리턴 받아야 할 경우 사용한다.
3) with
수신객체에 대한 작업 후 마지막 라인을 return한다. run과 완전히 똑같이 동작한다. 다른 점 하나는 run은 확장 함수로 사용되지만 with는 수신객체를 파라미터로 받아 사용한다는 점이다.
4) let
수신객체를 이용해 작업을 한 후 마지막 줄은 return 할 때 사용한다. run이나 with와는 수신객체를 접근할 때 it을 사용해야 한다는 점만 다르고 나머지 동작은 같다.
let은 nullable한 값을 처리해야 할 때는 let을 사용해야 한다.
5) also
apply와 마찬가지로 수신객체 자신을 반환한다. apply가 프로퍼티를 세팅 후 객체 자체를 반환 하는데만 사용된다면, also는 프로퍼티 세팅뿐만 아니라 객체에 대한 추가적인 작업을 한 후 객체를 반환할 때 사용된다.
Chip
Room
room은 공식문서가 제일 잘 나와있는 것 같다. 사용 후에 사용 법에 대해 정리해봐야겠다.
'Kotlin > TIL' 카테고리의 다른 글
TIL (02.15) (1) | 2024.02.15 |
---|---|
TIL (02.14) (0) | 2024.02.14 |
TIL 13 (02.08) (0) | 2024.02.08 |
TIL 12 (02.07) (0) | 2024.02.07 |
TIL 11 (02.06) (1) | 2024.02.06 |