인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

트위티님의 프로필 이미지
트위티

작성한 질문수

냉동코더의 알기 쉬운 Modern Android Development 입문

LiveData와 Observer Pattern 기초

Transformations.switchMap 함수의 리턴

작성

·

244

1

배경지식


val 키워드는 런타임 시점에 한번 초기화 된 이후

다시 초기화 하지 못한다고 알고 있습니다.

검색해보니 map 함수는 값을 리턴하고, switchMap 함수는 LiveData 를 리턴한다고 합니다.

 

질문


  1. 이미 초기화 된 val 에 새로운 LiveData 객체를 리턴하면, 할당 된 포인터 주소의 메모리 안에 덮어 씌워지는 것 인가요 ?

     

  2. val 에 처음 할당 된 메모리의 양보다 많은 데이터를 리턴하게 되면 StackOverFlow 가 발생하나요 ?
    가리키는 heap 영역의 메모리가 유연하게 증가하나요 ?

     

  3. 저의 부족하거나 잘못된 배경지식으로 접근해 질문하고 있다면, 학습 방향의 키워드나 힌트를 알려주세요 ㅠ_ㅠ


답변 1

1

냉동코더님의 프로필 이미지
냉동코더
지식공유자

혹시 ppt의 val nameQueryLiveData가 switchMap으로 변경후에도 동일한 변수명을 사용해서 질문하신건가요? 여기서는 새로운 변수를 만들어서 사용하시는게 맞습니다.

컴파일 되지않는 ppt 상의 코드라 변수명을 바꾸는 것을 놓쳐버렸네요. 알려주셔서 감사합니다 :)

트위티님의 프로필 이미지
트위티
질문자

5:50 초의 ppt 자료에 내용이 맞습니다. 제가 잘 이해하고 있는것이 맞나요 ?
친절한 답변 감사합니다 :)

냉동코더님의 프로필 이미지
냉동코더
지식공유자

val의 속성은 immutable로 재할당 자체가 불가능하기 때문에 1, 2번 질문 모두 성립하지 않습니다. 감사합니다.

트위티님의 프로필 이미지
트위티

작성한 질문수

질문하기