ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด] ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์˜ ๋ถ„๋ฆฌ
    ๐Ÿ“• ๋„์„œ/๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด 2021. 9. 11. 04:18

    http://www.yes24.com/Product/Goods/18249021?OzSrank=1

     

    ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด - YES24

    ใ€Ž๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ดใ€๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€๋ผ๋Š” ์›๋ก ์ ๋ฉด์„œ๋„ ๋‹ค์†Œ ์œ„ํ—˜ํ•œ ์งˆ๋ฌธ์— ๋‹ตํ•˜๊ธฐ ์œ„ํ•ด ์“ฐ์—ฌ์ง„ ์ฑ…์ด๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๋ณธ์งˆ์„ ์˜คํ•ดํ•˜๊ณ  ์žˆ๋‹ค. ๊ฐ€์žฅ

    www.yes24.com

     

    ๋„์„œ์˜ ๋‚ด์šฉ ์ˆœ์„œ์™€ ์ƒ๊ด€์—†์ด ๋ฐฐ์šด ๋‚ด์šฉ์„ ์š”์•ฝ ์ •๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด์ „ ๊ธ€: ์ฑ…์ž„๊ณผ ๋ฉ”์‹œ์ง€, ๊ทธ๋ฆฌ๊ณ  ์ธํ„ฐํŽ˜์ด์Šค

     

    ๊ฐ์ฒด ๊ด€์ ์—์„œ ์ƒ๊ฐํ•˜๋Š” ๋ฐฉ๋ฒ• (pg. 167~)

    ๋งท ์™€์ด์ŠคํŽ ๋“œ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์‚ฌ๊ณ  ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ์›์น™์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ฃผ์žฅํ•œ๋‹ค.

    [Weisfeld 2008]

     

    Matt Weisfled

     

    1. ์ข€ ๋” ์ถ”์ƒ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค

    ์ถ”์ƒํ™”๋Š” ์„ธ๋ถ€์ ์ธ ์‚ฌํ•ญ์€ ์ œ๊ฑฐํ•˜๊ณ  ๋ฉ”์‹œ์ง€์˜ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜๋ ค๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ ๊ธฐ๋ฒ•์ด๋‹ค.

    ๐Ÿ‘‰๐Ÿป ๋„๋ฉ”์ธ ๊ด€์ ์—์„œ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์—ฌ๊ธฐ๋Š” ๊ฒƒ๋งŒ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด ์ถ”์ƒํ™”์˜€๋‹ค!

     

    ์ด์ „ ๊ธ€์—์„œ๋„ ๋‹ค๋ฃจ์—ˆ์ง€๋งŒ ์ถ”์ƒ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์˜๋„๋ฅผ ๋ช…ํ™•ํžˆ ํ•ด์ฃผ๊ณ  ๊ฐ์ฒด์˜ ์ž์œจ์„ฑ์„ ๋ณด์žฅํ•ด์ค€๋‹ค.

    ๊ฐ์ฒด์˜ ์ž์œจ์„ฑ์ด ๋ณด์žฅ๋˜๋ฉด ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

     

    ์ข‹์€ ์ฝ”๋“œ๋Š” ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ƒ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ ˆ๋Œ€์„ ์ด๋‹ค! ( ๋‚ด ์ƒ๊ฐ )

    ์˜ค ๋ญ”๊ฐ€ ์ฑ…์„ ๋ณด์ง€ ์•Š์•„๋„ ๊ด€๋ จ ๋‚ด์šฉ๋“ค์ด ์ˆ ์ˆ  ๋– ์˜ฌ๋ผ์„œ ์ ํžˆ๋Š”๊ฒŒ ๋ฟŒ๋“ฏํ•˜๋‹ค....๐Ÿฅณ


     

    2. ์ตœ์†Œ ์ธํ„ฐํŽ˜์ด์Šค: minimal interface

    Minimal Typo (https://i.pinimg.com/originals/f2/2a/90/f22a9047a332d9d3a990e30a9bd72091.png)

     

    ๋ฌด์—‡์„ ์ตœ์†Œํ™” ํ•˜๋ผ๋Š” ์˜๋ฏธ์ธ๊ฐ€? ๋ฐ”๋กœ ์™ธ๋ถ€์— ๋…ธ์ถœ๋  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ผ๋Š” ๋ง์ด๋‹ค.

    ์กฐ๊ธˆ ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด ์™ธ๋ถ€์— ๋…ธ์ถœ๋  ํ•„์š”๊ฐ€ ์—†๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ตœ๋Œ€ํ•œ ๋…ธ์ถœํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค.

    ๋‹ค์‹œ ๋งํ•˜์ž๋ฉด ํ˜‘๋ ฅ์— ๋ถˆํ•„์š”ํ•œ ๋ฉ”์‹œ์ง€๋Š” ๊ณต์šฉ์ธํ„ฐํŽ˜์ด์Šค์— ํฌํ•จ์‹œํ‚ค์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค.

    ์ด์ „ ๊ธ€: ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ณต์šฉ์ธํ„ฐํŽ˜์ด์Šค

    ์—ฌ๋‹ด์ด์ง€๋งŒ ์ด๋Ÿฐ ์›์น™์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด ์ข‹์€ ๋ฐฉ๋ฒ•์„ ํ•™๊ต ๊ฐ์ฒด์ง€ํ–ฅ ์ˆ˜์—…์—์„œ ๋ฐฐ์šด ์ ์ด ์žˆ๋‹ค.

    ๊ทธ ๋ฐฉ๋ฒ•์€ ๊ตฌํ˜„ ์‹œ์— ์šฐ์„  ๋ชจ๋“  ๋ฉค๋ฒ„๋ฅผ ์ตœ์†Œ ๋ฒ”์œ„ ์ ‘๊ทผ์ž์ธ private์œผ๋กœ ์„ ์–ธํ•ด๋†“๊ณ , ํ•„์š”ํ•  ๋•Œ ํ•œ ๋‹จ๊ณ„์”ฉ ์ ‘๊ทผ ์ˆ˜์ค€์„ ๋†’์ด๋Š” ๊ฒƒ์ด์—ˆ๋‹ค๐Ÿ˜ฎ

     

    ๋‹ค์‹œ ๋Œ์•„์™€์„œ, ์™œ ์ตœ์†Œ ์ธํ„ฐํŽ˜์ด์Šค์ธ๊ฐ€? ์ ๊ฒŒ ๋…ธ์ถœํ• ์ˆ˜๋ก ์–ป๊ฒŒ ๋˜๋Š” ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ?

    ์™ธ๋ถ€์—์„œ ์•Œ ํ•„์š”๊ฐ€ ์—†๋Š” ์ •๋ณด๋ฅผ ์•Œ๊ฒŒ ๋˜๋ฉด, ๊ทธ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ๋” ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ๋‹ค.

    ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ•ํ•œ ๊ฒฐํ•ฉ์€ ์–ด๋–ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋˜๋Š”๊ฐ€? ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‹œ์— ๋‹ค๋ฅธ ์ฝ”๋“œ์— ๋” ํฐ ์˜ํ–ฅ์„ ์ค€๋‹ค.

    ๋ณ€๊ฒฝ์— ๋Œ€์‘ํ•˜๊ธฐ ๋” ์–ด๋ ต๊ณ  ์ƒ์‚ฐ์„ฑ์ด ์ €ํ•˜๋˜๋Š” ๊ฒƒ์ด๋‹ค.

     

    ์–ด๋–ป๊ฒŒ ์ตœ์†Œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์„๊นŒ:

    ๋ฉ”์‹œ์ง€๋ฅผ ๋จผ์ € ๊ฒฐ์ •ํ•˜๊ณ  ๊ฐ์ฒด๋ฅผ ๋‚˜์ค‘์— ์„ ํƒํ•˜๋Š” ์ฑ…์ž„-์ฃผ๋„ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ๋”ฐ๋ฅผ ๋•Œ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

    ์ฑ…์ž„ ์ฃผ๋„ ์„ค๊ณ„๋Š” ๋ณดํ†ต ๋ฐ์ดํ„ฐ ์ฃผ๋„ ์„ค๊ณ„์™€ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์œผ๋กœ ์–ธ๊ธ‰๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

    ์ฑ…์ž„ - ์ฃผ๋„ ์„ค๊ณ„๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ๋ฌด์—‡์ธ์ง€๋Š” ์ฑ…์„ ๋” ์ฝ์–ด๋ณด๋ฉฐ ์•Œ์•„๋ด์•ผ๊ฒ ๋‹ค ... ใ…Žใ…Ž

     


     

    3. ๊ตฌํ˜„

     

    ๊ฐ์ฒด๋Š” ์™ธ๋ถ€์™€ ๋‚ด๋ถ€๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

    ๊ฐ์ฒด์˜ ์™ธ๋ถ€์™€ ๋‚ด๋ถ€๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

    ์™œ? ์ง„์งœ ์—ฌ๋Ÿฌ ๋ฒˆ ๋งํ–ˆ๋‹ค. ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํŒŒ๊ธ‰ํšจ๊ณผ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด...


    ์ด๋•Œ, ๊ฐ์ฒด์˜ ์™ธ๋ถ€๋ฅผ ๊ณต์šฉ ์ธํ„ฐํŽ˜์ด์Šค๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ( ๋‹ค๋ฅธ ๊ฐ์ฒด์— ๋…ธ์ถœ๋˜์–ด ์žˆ๋Š” ๋ถ€๋ถ„ )

    ๊ฐ์ฒด์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ์™€ ์ž‘๋™๋ฐฉ์‹์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ด ๊ตฌํ˜„ (Implementation)์ด๋‹ค.

     

    ๊ฐ์ฒด๋Š” ์ƒํƒœ์™€ ํ–‰๋™์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ, ๊ณต์šฉ ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” ์ƒํƒœ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.

    ๊ทธ๋ž˜์„œ ์ƒํƒœ๋Š” ๊ฐ์ฒด์˜ ๋‚ด๋ถ€์— ํฌํ•จ๋˜๋ฏ€๋กœ ๊ตฌํ˜„์ด๋‹ค.

    ๊ฐ์ฒด์˜ ๋‚ด๋ถ€๋Š” ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ์™ธ๋ถ€์— ์˜ํ–ฅ์„ ๋ฏธ์ณ์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์ด ๋ชฉ์ ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ณต์šฉ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์„ ๋ถ„๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค.

    ์ถ”๊ฐ€์ ์œผ๋กœ ํ–‰๋™์€ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜์˜€์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์ด๊ณ , ์ด ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•(method)์„ ๋ฉ”์„œ๋“œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.


     

    ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์˜ ๋ถ„๋ฆฌ

    https://people.cs.vt.edu/kafura/cs2704/separation.fig2.gif

     

    ํ›Œ๋ฅญํ•œ ๊ฐ์ฒด๋Š” ๊ตฌํ˜„์„ ๋ชฐ๋ผ๋„ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์•Œ๋ฉด ์‰ฝ๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๊ตฌํ˜„์„ ๊ณต์šฉ ์ธํ„ฐํŽ˜์ด์Šค ๋’ค์— ์ฒ ์ €ํ•˜๊ฒŒ ์ˆจ๊ฒจ๋†“์•„์•ผ ํ•œ๋‹ค.

    ์ด๊ฒƒ์„ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„์˜ ๋ถ„๋ฆฌ ์›์น™ (seperation of interface and implementation)์ด๋ผ๊ณ  ํ•œ๋‹ค.

    ๊ฐ์ฒด ์„ค๊ณ„์˜ ํ•ต์‹ฌ์€ ๊ฐ์ฒด๋ฅผ ์™ธ๋ถ€์™€ ๋‚ด๋ถ€๋กœ ๋ถ„๋ฆฌํ•ด ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

     

    ์ด ์›์น™์ด ์™œ ์ค‘์š”ํ• ๊นŒ:

    ์†Œํ”„ํŠธ์›จ์–ด๋Š” ํ•ญ์ƒ ๋ณ€๊ฒฝ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

    ์ˆ˜๋งŽ์€ ๊ฐ์ฒด๋“ค์ด ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ์ž‘๋™ํ•˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ๊ณต๋™์ฒด์—์„œ ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ๋‹ค๋ฅธ ์–ด๋–ค ๊ฐ์ฒด๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›์„์ง€ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.

    " ๊ฐ์ฒด์˜ ๋ชจ๋“  ๊ฒƒ์ด ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜์–ด ์žˆ์œผ๋ฉด ์•„๋ฌด๋ฆฌ ์ž‘์€ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜์˜€์–ด๋„ ๋ณ€๊ฒฝ์— ์˜ํ•œ ํŒŒ๊ธ‰ํšจ๊ณผ๊ฐ€ ๊ฐ์ฒด ๊ณต๋™์ฒด์˜ ๊ตฌ์„๊ตฌ์„๊นŒ์ง€ ํŒŒ๊ณ ๋“ค ๊ฒƒ์ด๋‹ค. "

    ๊ทธ๋ž˜์„œ ๋ฏธ๋ž˜์— ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„์€ ๊ฐ์ฒด์˜ ๋‚ด๋ถ€์— ๊ฐ์ถฐ๋†“์•„์•ผ ํ•œ๋‹ค.

     

    ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๊ฐ€ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„ ๋ถ€๋ถ„์ด ์•„๋‹ˆ๋ผ ๋Š์Šจํ•œ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด์„œ๋งŒ ๊ฒฐํ•ฉ๋˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

    ๊ทธ๋ฆฌ๊ณ  ์ด ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ์บก์Šํ™”๋ผ๊ณ  ํ•œ๋‹ค.

    ๋‹ค์Œ ๊ธ€์€ ์บก์Šํ™”์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค.

     

     

    ์˜ค๋Š˜๋„ ๋‚˜๋Š” ์„ฑ์žฅํ–ˆ๋‹ค โœŠ๐Ÿป!!!!


    ๐Ÿค–๐ŸŸข[์šฐ์งฑ์˜ iOS ๋ธ”๋กœ๊ทธ]๐Ÿ”ต๐Ÿ’ป

    iOS๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ฐฐ์šด ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

     

    ๋Œ“๊ธ€

์–ด์ œ๋ณด๋‹ค ๋ฐœ์ „ํ•œ ๋‚˜