์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€? ๊ทธ๋ƒฅ ์‹ค์งˆ์ ์ธ ๋‚ด์šฉ์ด ๋‹ด๊ธด ๊ตฌํ˜„์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

๋ชจ๋“  ๊ฒƒ์ด ์ธํ„ฐํŽ˜์ด์Šค์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์ฃผ์žฅ

๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ ˆ๋Œ€๋กœ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋ฉด ์•ˆ๋œ๋‹ค. ๋ชจ๋“  ๊ฒƒ์„ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋งŒ๋“ค์–ด๋ผ.

  • ์™œ?: OO์—์„œ๋Š” ๋””์ปคํ”Œ๋ง์ด โ€œ์–ธ์ œ๋‚˜ ๊ฐ€์žฅ(?)โ€ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ต‰์žฅํžˆ ์ง€์ €๋ถ„ํ•˜๊ฒŒ ๋ณ€ํ•œ๋‹ค.
  • ํ˜น์‹œ๋ผ๋„ ๋‹ค๋ฅธ ๊ตฌํ˜„์ด ์ƒ๊ธธ์ˆ˜๋„ ์žˆ์ž–์•„์š”?
    • ์ƒ๊ธธ์ˆ˜๋„ ์•ˆ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ๋‹ค.
    • ํ•„์š”ํ•  ๋•Œ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    • ์‹ค์„ธ์ƒ๋„ ๋ชจ๋“  ๋ฏธ๋ž˜๋ฅผ ๋Œ€๋น„ํ•˜๋ฉด์„œ ๊ตฌ์ถ•๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. ์™œ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š”๊ฐ€?

์ธํ„ฐํŽ˜์ด์Šค : ๊ตฌํ˜„ = 1 : 1์€ ์ด์ƒํ•˜๋‹ค.

  • OO์—์„œ์˜ ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜ (์ด ๊ฐ•์˜์—์„œ)
    • ์ƒํƒœ๋„ ๋ฉ”์„œ๋“œ ๊ตฌํ˜„๋„ ์—†๋Š” ์ˆœ์ˆ˜ ์ถ”์ƒ ํด๋ž˜์Šค
    • public ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‚ด์ฒ˜๋งŒ ๋ชจ์•„๋‘” ๊ฒƒ
    • C ์–ธ์–ด์˜ header ํŒŒ์ผ ๊ฐ™์€ ์กด์žฌ
  • OO์—์„œ์˜ ์ธํ„ฐํŽ˜์ด์Šค: ์ฃผ ์šฉ๋„๋ฅผ ๊ธฐ์ค€์œผ๋กœ
    • ํ•จ์ˆ˜ ํฌ์ธํ„ฐ์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ: ๋‹คํ˜•์„ฑ
    • ๋‹ค์ค‘ ์ƒ์†์„ ํ‰๋‚ด๋‚ผ ์ˆ˜ ์žˆ์Œ: ๋‹คํ˜•์„ฑ
    • ๋ณ€ํ™”์— ๋Œ€๋น„ํ•ด ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์Œ(๋‹จ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋งŒ): ๋‹คํ˜•์„ฑ
  • **๋‹คํ˜•์„ฑ ์—†๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์—†๋‹ค.**๊ฐ€ ์ผ๋ฐ˜์ ์ธ ์ฃผ์žฅ

์ธํ„ฐํŽ˜์ด์Šค์˜ ์ž˜๋ชป๋œ ์ดํ•ด

  • ์™œ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์ค‘์š”์‹œ ํ•˜๋Š”๊ฐ€?
  • ์ด ์ง„์˜์—์„œ ์„ฑ์„œ์ฒ˜๋Ÿผ ๋ฐ›๋“œ๋Š” ์ฑ…: GoF์˜ ๋””์ž์ธ ํŒจํ„ด
  • ์ฑ… ๋‚ด์šฉ์€ ๊ดœ์ฐฎ๋‚˜ ๊ณกํ•ดํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋ฌธ์ œ์ž„
  • โ€œProgramming to an Interface, not an Implementation.โ€
  • ์•„ ๋ฌด์กฐ๊ฑด Java interface ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๊ตฌ๋‚˜! โŒ
  • ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ interface๋Š” ๊ทธ ์˜๋ฏธ๋กœ ์ ์€๊ฒŒ ์•„๋‹ˆ๋‹ค.
    • ์‚ฌ์‹ค interface๋ผ๋Š” ์šฉ์–ด์ž์ฒด๋ฅผ ์—ฌ๋Ÿฌ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ผ ๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค.

Java์˜ Interface๊ฐ€ ์•„๋‹Œ ๊ทผ๊ฑฐ

  1. ํ•ด๋‹น ์ฑ…์€ C++๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์Œ, ์ฆ‰ interface๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  2. ๋‹คํ˜•์„ฑ์ด ์ธํ„ฐํŽ˜์ด์Šค์— ์˜์กดํ•œ๋‹ค๊ณ  ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค.
    • ์ƒ์†์—์„œ ๋™์ž‘์˜ ์žฌ์‚ฌ์šฉ๋งŒ ๋งํ•˜๋Š” ๊ฒƒ์€ ๋ฐ˜์ชฝ์งœ๋ฆฌ์ด๋‹ค.
    • ์ƒ์†์„ ํ†ตํ•ด ์ž์‹์ด ๋”ฐ๋ผ์•ผํ•˜๋Š” ๊ณตํ†ต interface๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค.
    • ๊ทธ ์ด์œ ๋Š” ๋‹คํ˜•์„ฑ์ด ๊ณตํ†ต interface์—†์ด๋Š” ์กด์žฌํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  3. ๋ถ€๋ชจ์˜ ๋‹คํ˜•์  ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‚ด์ณ๋ผ๋Š” ์˜๋ฏธ๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค.
    • ์ถ”์ƒ ํด๋ž˜์Šค์— ์žˆ๋Š” interface๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์žฅ์ ์ด ์žˆ๋‹ค.
      • ํด๋ผ์ด์–ธํŠธ๋Š” ์ž๊ธฐ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ์ฒด์˜ ํƒ€์ž…์ด ๋ญ”์ง€ ๋ชฐ๋ผ๋„ ๋œ๋‹ค.
      • ํด๋ผ์ด์–ธํŠธ๋Š” ๊ฐœ์ฒด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค์— ๋Œ€ํ•ด ๋ชฐ๋ผ๋„ ๋œ๋‹ค.
      • ๋‹จ, ์ถ”์ƒ ํด๋ž˜์Šค๊ฐ€ ๊ฐ•์ œํ•˜๋Š” interface๋งŒ ๋”ฐ๋ฅด๋ฉด ๋œ๋‹ค.

์ฆ‰, ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” interface๋Š” ์ž๋ฐ”์—์„œ ๋งํ•˜๋Š” Interface๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ณ ๊ทธ ์ž์ฒด๋ฅผ ๋งํ•œ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋ผ๋Š” ์˜๋ฏธ

  • ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜๋ก ๊ฒฐํ•ฉ๋„๊ฐ€ ์ค„์–ด๋“ ๋‹ค.
  • ํ•จ์ˆ˜ == ๋ธ”๋ž™๋ฐ•์Šค ๋ผ๋Š” ๋ง์— ๋‹คํ˜•์„ฑ์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์— ๋ถˆ๊ณผ
    • ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜ ์•ˆ์—์„œ ๋ฌด์—‡์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์•Œ๋ ค๊ณ  ํ•˜์ง€ ๋ง์•„๋ผ.
      • ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฐ˜ํ™˜ํ˜•๋งŒ, ์ฆ‰ ์‹œ๊ทธ๋‚ด์ณ๋งŒ ๋ณด๊ณ  ๊ฐ€์ž.
    • ํด๋ž˜์Šค๋Š” ๊ตฌ์ฒด ํด๋ž˜์Šค์— ์˜์กดํ•˜์ง€ ๋ง๊ณ , ๋ถ€๋ชจ์—์„œ ์ •์˜ํ•œ ๋‹คํ˜•์  ๋ฉ”์„œ๋“œ์— ์˜์กดํ•˜์ž.
  • ํ•ต์‹ฌ: ๋‹คํ˜•์„ฑ์„ ๊ฐ€์ง„ ์ผ๋ฐ˜์  ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‚ด์ฒ˜๋ฅผ ์ •์˜
    • ๋ฌด์กฐ๊ฑด Java์˜ interface๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค? โŒ

ํ˜‘์—… ์‹œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ชฉํ‘œ๋Š” ์‹ค์ˆ˜ ์˜ˆ๋ฐฉ

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์€ ํ˜‘์—… ํ™˜๊ฒฝ
  • ๋ชจ๋‘๊ฐ€ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์‹ค์ˆ˜๋ฅผ ์ค„์ธ๋‹ค.
    • ์ฃผ๊ด€์„ฑ์ด ๊ทธ๋‚˜๋งˆ ์ ์Œ
    • OO์˜ ์บก์Šํ™”
  • ๋‹คํ˜•์„ฑ, ํฌ์ธํ„ฐ, ์žฌ๊ท€ ํ•จ์ˆ˜ ๋“ฑ์ด ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ์ด์œ 
    • ์ง๊ด€์„ฑ์ด ์ค„์–ด๋“ฆ
    • ์ถ”์ƒ์ 
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์ถ”์ƒํ™”๋ฅผ ์•ˆํ•˜๋Š”๊ฒŒ ์‹ค์ˆ˜๊ฐ€ ์ ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค์˜ ์˜ฌ๋ฐ”๋ฅธ ์ •์˜

  • ์ด๋Ÿฐ ๊ธฐ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์˜๋ฅผ ํ•œ๋‹ค๋ฉด, (์ฃผ๋ฅ˜ ์–ธ์–ด, ์ฃผ ์šฉ๋„)
  • ์ƒํƒœ๋„ ๊ตฌํ˜„๋„ ์—†์ด ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‚ด์ฒ˜๋งŒ ์žˆ๋Š” ์ถ”์ƒ ํด๋ž˜์Šค
  • ํ•จ์ˆ˜ ํฌ์ธํ„ฐ์ฒ˜๋Ÿผ ๋˜๋Š” ๋‹ค์ค‘ ์ƒ์† ๋Œ€์‹  ์‚ฌ์šฉ๊ฐ€๋Šฅ (๋‹คํ˜•์„ฑ)
  • ์ด์™ธ์˜ ์ฃผ๊ด€์  ์˜๊ฒฌ์€ ์žฅ์ ์ด ํ™•์‹คํžˆ ๋ณด์ผ ๋•Œ ๋ฐ›์•„๋“ค์ด์ž.

์ดํด๋ฆฝ์Šค API์™€ ์ธํ„ฐํŽ˜์ด์Šค - ๋””์ปคํ”Œ๋ง์„ ์ž˜ํ•œ ์˜ˆ

  • ์ดํด๋ฆฝ์Šค: Java IDE
  • ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜์—ฌ ์ดํด๋ฆฝ์Šค API๋ฅผ ์‚ฌ์šฉํ•œ ๋งŽ์€ ๋„๊ตฌ๋“ค์ด ์žˆ์Œ
  • ๊ทผ๋ฐ, ์ด API ๋ฒ„์ „ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‚ด์ฒ˜๊ฐ€ ๋ฐ”๋€๋‹ค๋ฉด?
    • ๋งŽ์€ ๋„๊ตฌ๋“ค์ด ๊ณ ์žฅ๋‚จ
    • ๋‹ค ๋ฐ”๊ฟ”์ค˜์•ผ ํ•จ
  • ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๊ฐ€ ์ ์–ด์•ผ ํ•จ

์„ค๊ณ„์— ๋งŽ์€ ์‹œ๊ฐ„ ํˆฌ์ž

  • ์ถ”ํ›„ ๋ณ€ํ™”์— ๊ฐ•๊ฑดํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ผผ๊ผผํžˆ ์„ค๊ณ„ํ•จ
  • ํ•˜์ง€๋งŒ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” API๋Š” ๋ฐœ์ „๋„ ์—†์Œ
  • ๊ทธ๋ ‡๊ธฐ์— ๋‹ค์Œ ๋‘ Java ํ‚ค์›Œ๋“œ์— ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ์•ฝ์†ํ•จ
    • interface: ์ ˆ๋Œ€๋กœ ๋ฐ”๋€Œ์ง€ ์•Š์Œ
    • class: ์–ธ์ œ๋“  ๋ฐ”๋€” ์ˆ˜ ์žˆ์Œ

ํ•˜์ง€๋งŒ interface๋กœ ๋ฐœ์ „์‹œ์ผœ์•ผ ํ–ˆ๋‹ค.

  • ์•„๋ฌด๋ฆฌ ์„ค๊ณ„๋ฅผ ์ž˜ํ•ด๋„ ๋ชจ๋“  ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜๋Š” ์—†๋‹ค.
  • ์—†๋Š” ๋™์ž‘์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ์ผ์ด ์ƒ๊ธด๋‹ค.
  • ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํด๋ž˜์Šค๊ฐ€ ์ปดํŒŒ์ผ ์•ˆ๋œ๋‹ค.

ํ•ด๊ฒฐ๋ฒ•

  • ์ด์ „๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋Š” ์ƒˆ๋กœ์šด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.
    • ๋’ค์— ์ˆซ์ž๋ฅผ ๋ถ™์ด๋Š” ๋ฐฉ์‹
  • ์ด๋Ÿฌ๋ฉด ์ƒˆ ๋ฒ„์ „์ด ๋‚˜์™€๋„ ๊ธฐ์กด ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๋Š” ๋™์ž‘ํ•œ๋‹ค.

์žฅ๋‹จ์ 

  • ์ƒˆ๋กœ ์ดํด๋ฆฝ์Šค API๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์‚ฌ๋žŒ์ด ๋“ค์–ด์™”๋‹ค.
  • 1, 2, 3? ๋ญ˜์จ์•ผ ํ•˜์ง€?
  • ๋’ค์— ์ˆซ์ž ๋ถ™์ด๋Š” ์ด๋ฆ„์ด ์ข‹์€ ๊ฑธ๊นŒ?
  • ์‚ฌ์‹ค ์ด๋Ÿฐ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ๋งˆ์ฃผํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์›€. ์„ค๊ณ„์— ์ด๋งŒํผ ํˆฌ์ž๋ฅผ..?
์žฅ์ ๋‹จ์ 
- interface์™€ class์˜ ์˜๋ฏธ๋ฅผ ํ™•์‹คํžˆ ๋ถ„๋ฆฌ
- ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๋ง๊ฐ€ํŠธ๋ฆฌ์ง€ ์•Š์Œ
- ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€๋˜์ง€ ์•Š์Œ
- ๋‹น์—ฐํžˆ ๋ณ€ํ™”์— ๋Š๋ฆผ (์˜ˆ์ „์—๋Š” ์• ์ดˆ์— ๋Š๋ ค์„œ ๋ณ„๋ฌธ์ œ ์•„๋‹ˆ์—ˆ์Œ)

ํ˜„์žฌ์—๋„ ์˜๋ฏธ๋Š” ์žˆ๋‹ค.

  • ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์˜์กดํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด ๊ณ ๋ คํ•ด๋ณผ๋งŒ ํ•˜๋‹ค.
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํšŒ์‚ฌ ๋‚ด๋ถ€ ํŒ€์ด ์•„๋‹Œ ๊ฒฝ์šฐ
  • ํ•˜์ง€๋งŒ ์š”์ฆ˜์€ ๋ฐœ์ „ ์†๋„๊ฐ€ ๋” ์ค‘์š”ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
    • ์ธํ„ฐ๋„ท ๋ฐœ๋‹ฌ๋กœ ์ƒˆ๋ฒ„์ „ ๋ฐฐํฌ๊ฐ€ ์šฉ์ด
    • ๋ณด์•ˆ ํŒจ์น˜๋ฅผ ๋” ์ž์ฃผํ•ด์•ผ ํ•จ
  • ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๋Š”์ค‘..

์‹ค๋ฌด์—์„œ ๋ฐฉํ–ฅ

  • ํšŒ์‚ฌ ์ž์ฒด ๊ฐœ๋ฐœํŒ€ ์†Œ์œ 
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ 100+ ๋ช…
  • ์ด 10๊ฐœ์˜ ์ œํ’ˆ ํŒ€
  • ์ฝ”์–ดํŒ€
    • 10๊ฐœ์˜ ํŒ€์ด ์‚ฌ์šฉํ•˜๋Š” ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ฆ
    • ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉ
  • ์ฝ”์–ดํŒ€์—์„œ ํด๋ž˜์Šค ํ˜น์€ ์ธํ„ฐํŽ˜์ด์Šค์˜ public ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‚ด์ฒ˜๋ฅผ ๋ฐ”๊ฟˆ
    • 10๊ฐœ์˜ ํŒ€์˜ ๊ฐœ๋ฐœ ์ผ์ •์— ๋งž์ถฐ์•ผ ํ•จ
    • ํŒ€ํ•˜๊ณ  ์ƒ์˜๋ฅผ ํ•ด์•ผ ํ•จ
  • ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ปคํ”Œ๋งํ•ด๋‘๋ฉด ์กฐ๊ธˆ๋” ๋‚ซ๋‹ค.

ํ•ต์‹ฌ์€ ํด๋ผ์ด์–ธํŠธ์™€์˜ ์•ฝ์†

  • ๋‹จ์ˆœํžˆ ๊ตฌ์ฒด ํด๋ž˜์Šค์™€์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ์ค„์ด๋ƒ ๋งˆ๋ƒ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋‹ค.
  • ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์„์ง€์— ๋Œ€ํ•œ ์•ฝ์†
  • ๊ทธ ์•ฝ์†์„ ๊นจ์•ผํ•  ์ผ์ด ์ƒ๊ธด๋‹ค๋ฉด ์ผ์ •์กฐ์œจ๊ณผ ๊ฐ™์€ ๊ฒƒ์ด ์ค‘์š”
  • ์ดํด๋ฆฝ์Šค api์™€ ๊ฐ™์€ ๋ฐฉ์‹์˜ ์•ฝ์†๋„ ๊ทธ ์ค‘ ํ•˜๋‚˜

์š”์ฆ˜์€ ์—…๋ฐ์ดํŠธ์— ์ต์ˆ™

  • ์š”์ฆ˜์€ ๋ฒ„์ „์—… ์†๋„๊ฐ€ ๋นจ๋ผ์กŒ๋‹ค.
  • ๊ทธ๋ž˜๋„ ์ด๊ฒƒ์ด ์ผ์ƒ์˜ ์ผ๋ถ€๋ผ ์ƒ๊ฐํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด๋‚˜ breaking ๋ณ€ํ™”๋Š” ์ƒˆ ๋ฒ„์ „์—๋งŒ ์ถ”๊ฐ€
  • ๋ฒ„์ „ ๋ณ„๋กœ ์ง€์› ๊ธฐ๊ฐ„์„ ๋ช…์‹œ
    • ์ง€์› ๊ธฐ๊ฐ„๋™์•ˆ ์ค‘์š”ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ชจ๋“  ๋ฒ„์ „์— ์ ์šฉํ•ด์•ผ ํ•จ
    • ์ง€์› ๊ธฐ๊ฐ„์ด ๋๋‚˜๋ฉด ๋‹ค์Œ ๋ฒ„์ „์œผ๋กœ ์˜ฎ๊ฒจ์•ผ ํ•จ
  • ์—…๋ฐ์ดํŠธ ํ›„ ์˜ค์ž‘๋™์„ ๊ณ ์น˜๋Š” ๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ์˜ ๋ชซ
  • ๊ณ ํ†ต์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•๋“ค
    • migration ๊ฐ€์ด๋“œ ์ œ๊ณต
    • LTS(Long-Term Support) ๋ฒ„์ „ ์ œ๊ณต

์‹ค์šฉ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ž˜์Šค ์‚ฌ์šฉ
  • ๊ธฐ์กด: ๋‹ค์Œ์˜ ๊ฒฝ์šฐ์—๋งŒ ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์šฉ
    • ํ•จ์ˆ˜ ํฌ์ธํ„ฐ
    • ๋‹คํ˜•์„ฑ ์žˆ๋Š” ๋‹ค์ค‘ ์ƒ์†์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
  • ์ถ”๊ฐ€: ๋ณ€ํ™”์— ๋Œ€๋น„ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด ์ปคํ”Œ๋ง์„ ์ค„์ด๋ ค ์‚ฌ์šฉํ•  ๊ฒƒ
    • ๋‚ด ํด๋ž˜์Šค์— ์˜์กดํ•˜๋Š” ์ฝ”๋“œ๋“ค์„ ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
      • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋ณ€ํ™”์— ๋Œ€ํ•œ ๋Œ€๋น„๋ž€?

์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๋Œ€๋น„

  • ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๊ทธ ๋•Œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋œ๋‹ค.
  • ์‹œ์Šคํ…œ์ด ํฌ์ง€ ์•Š๊ฑฐ๋‚˜
  • ๋‚ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์™ธ๋ถ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ˆ˜๊ฐ€ ์ ๊ฑฐ๋‚˜
  • ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ํŠน์ • ๊ธฐ๊ฐ„๋™์•ˆ ์ง€์›ํ•  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜.

์ •๋ฆฌ

  • ๊ต‰์žฅํžˆ ์ฃผ๊ด€์ ์ธ ๋‚ด์šฉ์ด๋‹ค.
  • ์–‘ ๊ทน๋‹จ์— ์œ„์น˜ํ•œ ๊ฒƒ์€ ํ•ญ์ƒ ์ž˜๋ชป๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.
  • ์‹œ๊ฐ„์ด ์ง€๋‚œํ›„์—๋„ ๋‹ค์ˆ˜์„ค์ด ๊ทธ๋Œ€๋กœ ์œ ์ง€๋˜๊ณ  ์žˆ๋‹ค๋ฉด, ํŠน์ • ์‚ฌ๋žŒ์ด ์ฃผ์žฅํ•˜๋Š” ๊ฒƒ์ด ์ž˜๋ชป๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.
  • ์˜์กด์„ฑ, ๊ฒฐํ•ฉ๋„์— ๋Œ€ํ•œ ์ •์˜์™€ ๋””์ปคํ”Œ๋ง์—์„œ์˜ ์˜์กด์„ฑ ์ฃผ์ž…, ๊ทธ๋ฆฌ๊ณ  ๊ทธ์˜ ์žฅ๋‹จ์ ์„ ์•Œ์•„๋ณด์•˜๋‹ค.

Reference