KeyFlow LogoKEYLOW
KeyFlow Logo
HomeTrendingSeries
Tools & Info
Tools & AppsAbout
Your Account
Reading History
@keyflow OfficialFeedback Discord
BETA v2v2026.10.15
์•ˆ๋“œ๋กœ์ด๋“œ MVVM ํŒจํ„ด ๋”ฐ๋ผ ํ•˜๊ธฐ - ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— | Taehwan kwon (theo) | KeyFlow
KeyFlow LogoKEYLOW
BETA v2v2026.10.15

์•ˆ๋“œ๋กœ์ด๋“œ MVVM ํŒจํ„ด ๋”ฐ๋ผ ํ•˜๊ธฐ - ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

Taehwan kwon (theo)Taehwan kwon (theo)
Published almost 4 years ago
Updated 8 months ago
7 min read

์™œ ์ˆ˜๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ MVVM์„ ์“ฐ๋ฉด์„œ๋„ ์—ฌ์ „ํžˆ 'ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ' ์ž‘์„ฑ์— ์‹คํŒจํ• ๊นŒ์š”?

ยท์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์˜ ํ•ต์‹ฌ ๋ชฉํ‘œ๋Š” Robolectric ๊ฐ™์€ ๋ฌด๊ฑฐ์šด ํ”„๋ ˆ์ž„์›Œํฌ ์—†์ด๋„ Mockito๋งŒ์œผ๋กœ ์œ ๋‹› ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์„ค๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
ยทMVVM์€ MVP์™€ ๋‹ฌ๋ฆฌ ๋ทฐ์™€ ๋ทฐ๋ชจ๋ธ ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์•„, ๋กœ์ง๊ณผ UI๋ฅผ ์ปดํฌ๋„ŒํŠธํ™”ํ•˜์—ฌ ์กฐ๋ฆฝํ•˜๋Š” 'ํŒฉํ† ๋ฆฌ ํŒจํ„ด' ๋ฐฉ์‹์˜ ๋†’์€ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค.
ยท์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ MVVM์˜ ๋ณต์žกํ•œ ๋„๊ตฌ(DI, Rx, Flow ๋“ฑ)์— ๋งค๋ชฐ๋˜๊ธฐ๋ณด๋‹ค, ์•กํ‹ฐ๋น„ํ‹ฐ์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” MVC ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ '์ฝ”๋“œ ๋ถ„๋ฆฌ์˜ ์ด์œ '๋ฅผ ๋จผ์ € ๊ณ ๋ฏผํ•ด์•ผ ํ•œ๋‹ค.
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
data class User(  val name: String = "taehwan",  val bio: String = "Android, iOS",  val nickName: String = "Theo",)

Series ยท Part 5/15

Architecture

All parts

Series ยท Part 5/15

Architecture

Previous Part์•ˆ๋“œ๋กœ์ด๋“œ ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ(multi module) ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ข‹์„๊นŒ?Next Part์•ˆ๋“œ๋กœ์ด๋“œ MVVM์—์„œ์˜ ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ์„ ๋” ์ž˜ํ•˜๋ ค๋ฉด?
All parts
Next: ์•ˆ๋“œ๋กœ์ด๋“œ MVVM์—์„œ์˜ ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ์„ ๋” ์ž˜ํ•˜๋ ค๋ฉด?

Read Next

Android 2017-08-09

Android Architecture - MVC์—์„œ MVP์—์„œ MVVM์œผ๋กœ ๊ฐ€๋Š” ๊ธธ

taehwandev
taehwandev
Android 2017-03-12

Android MVVM ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ์ข‹์„๊นŒ?

taehwandev
taehwandev
Android 2017-02-18

GDG Incheon ๋ฐœํ‘œ ์ž๋ฃŒ ์ •๋ฆฌ(Kotlin/MVC/MVP/MVVM)

taehwandev
taehwandev