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

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

이상곤님의 프로필 이미지
이상곤

작성한 질문수

모던 안드로이드 - 코틀린과 Jetpack 활용

ViewModel 작성

viewModel 질문 있습니다.

작성

·

369

0

MainViewModel에 private로 변수를 선언했을 때 MainActivity에서 viewModel의 변수를 변경하라면 java에서 처럼 getter, setter 메서드 만들어 사용하면 되나요?

만약 아니라면 코틀린에선 getter, setter 사용하는 방식이 따로 있는지 또는 ViewModelFactory를 만들어야 하는지 궁금합니다.

  

답변 1

1

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

private인 viewModel 내부의 변수를 조작하려면 getter / setter 메서드를 만드셔서 하시면 됩니다

코틀린에서 다음처럼 외부에서는 조작이 안 되도록 프로퍼티를 외부에 제공하거나 합니다.

private val _diaryItems = MutableLiveData<List<DiaryItem>>()
val diaryItem: LiveData<List<DiaryItem>> get() = _diaryItems

이상곤님의 프로필 이미지
이상곤

작성한 질문수

질문하기