HomePostsSearch
KeyFlow LogoKEYLOW
BETAv2026.03.11

안드로이드 MVVM 패턴 따라 하기 - 시작하기 전에

Taehwan kwon (theo)Taehwan kwon (theo)
about 1 month ago(Edited)
7 min read

왜 수많은 개발자가 MVVM을 쓰면서도 여전히 '테스트 가능한 코드' 작성에 실패할까요?

·아키텍처 패턴의 핵심 목표는 Robolectric 같은 무거운 프레임워크 없이도 Mockito만으로 유닛 테스트가 가능한 설계를 구축하는 것이다.
·MVVM은 MVP와 달리 뷰와 뷰모델 간의 결합도가 낮아, 로직과 UI를 컴포넌트화하여 조립하는 '팩토리 패턴' 방식의 높은 재사용성을 제공한다.
·초보 개발자라면 처음부터 MVVM의 복잡한 도구(DI, Rx, Flow 등)에 매몰되기보다, 액티비티에 코드를 작성하는 MVC 단계에서부터 '코드 분리의 이유'를 먼저 고민해야 한다.
SeriesPart 5 of 11

Architecture

View All
Previous
안드로이드 멀티 모듈(multi module) 관리는 어떻게 하면 좋을까?
Next
안드로이드 MVVM에서의 테스트 검증을 더 잘하려면?

On this page

  • 이 글에서 알아볼 내용
  • MVC
  • MVP와 MVVM
  • 안드로이드의 액티비티는 무슨 패턴을 가졌을까?
  • MVP의 Presetner와 MVVM의 ViewModel의 역할은?
  • 그럼 테스트를 한다고 생각해 보자
  • 테스트가 가능해야 하는 게 답인가?
  • 만능은 아니다.
  • 다시 돌아가서
  • 초보라면 MVC부터 시작하라
  • 천천히 알아보자.
  • MVVM으로 할 수 있는 것?
  • UseCase를 활용하는 경우?
  • 1개의 뷰와 1개의 ViewModel에서 처리한다.
  • 어차피 우리는 팩토리 패턴을 만든다.
  • 개인적으론 MVI 패턴에 대한 이해도는 없다.
  • 마무리
Taehwan kwon (theo)

Taehwan kwon (theo)

@taehwandev

[안녕하세요, 태환입니다] 글쓰기 플랫폼 KeyFlow의 운영과 개발을 총괄하고 있는 태환입니다. 사용자가 생각에 집중할 수 있는 환경을 만들기 위해 플랫폼인 키플로우 전체의 기획부터 배포, 관리를 리딩하고 있습니다.

[경험 및 전문성]

  • KeyFlow Management: 서비스의 전반적인 운영을 책임지고 있습니다.
  • Mobile Engineering: 안드로이드와 iOS 플랫폼 모두에서 안정적이고 매끄러운 사용자 경험을 구현합니다. 기기의 특성에 최적화된 에디터와 기능을 개발하는 데 강점이 있습니다.
  • Openness & Stability: 플랫폼의 개방성을 확대하면서도, 시스템의 안정성을 놓치지 않는 균형 잡힌 개발 철학을 추구합니다.

[목표] 단순한 기능 구현을 넘어, 전 세계 사용자가 언어의 장벽 없이 소통할 수 있는 글로벌 플랫폼으로 KeyFlow를 성장시키는 것이 저의 목표입니다.

기술 스택 요약 (Tech Summary)

  • Mobile: Android (Kotlin/Java), iOS (Swift)
  • Highlight: GitHub Gist Integration, AI Language Detection, Cross-platform Optimization
kotlin
1
2
3
4
5
data class User(
  val name: String = "taehwan",
  val bio: String = "Android, iOS",
  val nickName: String = "Theo",
)
Next: 안드로이드 MVVM에서의 테스트 검증을 더 잘하려면?
Was this helpful?Your support means a lot to the author.
Home
Posts
Inbox