티스토리 뷰
반응형
Apply
// Java
Person person = new Person();
person.firstName = "홍";
person.lastName = "길동";
// Kotlin
val person = Person().apply {
// this 생략 가능
// this.firstName = "홍"
// this.lastName = "길동"
firstName = "홍"
lastName = "길동"
}
apply 함수는 블록 내부에서 객체 프로퍼티에 직접 접근할 수 있고 반환 값으로 객체 자신을 반환한다.
주로 객체를 초기화 할 때 사용한다.
Also
// Java
int value = Random().nextInt(100);
System.out.print(value);
// Kotlin
Random.nextInt(100).also { value ->
Log.d("jsh","Random value: $value")
}
// parameter 생략
Random.nextInt(100).also {
Log.d("jsh","Random value: $it")
}
also 함수는 apply와 같이 객체를 반환하지만 파라미터 형태로 반환한다, 파라미터를 명시 가능하며 명시하지 않을 경우 it으로 접근이 가능하다.
주로 객체의 유효성을 확인하거나 로그를 통한 디버깅 용도로 사용한다.
Let
// Java
Integer number = null;
String sumNumberStr = null;
if (number != null) {
sumNumberStr = "" + sum(10, number);
}
// Kotlin
val number: Int?
// number 가 null 이면 실행하지 않음
// number 가 null이 아니면 결과값을 셋팅
val sumNumberStr = number?.let {
"${sum(10, it)}"
}
let 함수는 null이 아닌객체에서 람다를 실행하고, apply, also와는 다르게 코드 블록에 실행 결과가 밖으로 반환이 된다
주로 null safe 한 함수를 위해 사용한다.
with
// Java
Person person = new Person();
person.work();
person.sleep();
System.out.println(person.getAge());
// Kotlin
val person = Person()
with(person) {
work()
sleep()
Log.d("jsh", age)
}
with 함수의 반환값은 람다의 결과 값, 확장 함수로 사용할 수 없다.
주로 해당 객체를 통해서 ~~한 것들을 할 수 있다 라고 표현할 때 사용한다.
Run
// Java
Person person = new Person();
person.setAge("30");
String age = person.nextYearAge();
// Kotlin
val age = Person().run {
age = "30"
nextYearAge()
}
with 함수와 비슷하다, 하지만 확장 함수로 사용 가능 하다
주로 어떤 값을 계산할 필요가 있거나 객체 구성과 결과가 한 번에 있을 때 사용한다.
반응형
'개발노트 > 안드로이드' 카테고리의 다른 글
[안드로이드] 에서 SOLID원칙 지키기 (0) | 2022.05.09 |
---|---|
[안드로이드] TDD란 ? (1) | 2022.01.11 |
[안드로이드] 이미지 로딩 라이브러리 Glide 사용하기 (0) | 2020.09.11 |
[안드로이드] 안드로이드x 마이그레이션 (0) | 2019.11.04 |
[안드로이드] 안드로이드 스튜디오 설치 , 환경 구축 (0) | 2018.08.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 제주도
- 안드로이드
- 중소기업청년전세자금대출
- 제주도 흑돼지고기
- 코틀린 apply
- 제주도 여행
- 코틀린 with
- 코틀린 run
- 전세방
- ScopeFunction
- 이미지라이브러리
- 제주도 커플사진
- 한성노트북추천
- 한성컴퓨터 올데이롱
- 화정
- 코틀린 let
- 제주도 흑돈가
- 중소기업전세자금대출
- 올데이롱 후기
- 제주도 샤이니길
- 한성 올데이롱
- 제주도 맛집
- 샤이니길
- 코틀린 also
- 안드로이드 TDD
- 청년전세자금대출
- 미아사거리
- 화정 맛집
- 중소기업전세자금대출 꿀팁
- 맛집
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함