Skip to content

Latest commit

ย 

History

History

ch03

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
ย 
ย 

โฌ…๏ธ 2์žฅ | 4์žฅ โžก๏ธ

3์žฅ ์ฝ”๋“œ์—์„œ ๋‚˜๋Š” ์•…์ทจ

Note

'์ฝ”๋“œ์—์„œ ๋‚˜๋Š” ์•…์ทจ' ์ฑ•ํ„ฐ๋Š” ๋‹ค์Œ ์งˆ๋ฌธ์„ ์ค‘์‹ฌ์œผ๋กœ ์ฝ์–ด๋‚˜๊ฐ€์‹œ๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.

  1. ์–ธ์ œ ๋ฆฌํŒฉํ„ฐ๋งํ•ด์•ผ ํ•˜๋Š”๊ฐ€
  2. ์–ด๋–ค ์ฝ”๋“œ๊ฐ€ ๋ฆฌํŒฉํ„ฐ๋ง์ด ํ•„์š”ํ•œ๊ฐ€

๊ฐ ์•…์ทจ์— ๋งž๋Š” ๋ฆฌํŒฉํ„ฐ๋ง ๊ธฐ๋ฒ•์€ 6์žฅ ์ดํ›„๋กœ ์ž์„ธํžˆ ๋‹ค๋ค„์งˆ ์˜ˆ์ •์ด๋‹ˆ ๊ฐ€๋ณ๊ฒŒ ์ฝ๊ณ  ๋„˜์–ด๊ฐ€์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

113p

๋ƒ„์ƒˆ๋‚˜๋ฉด ๋‹น์žฅ ๊ฐˆ์•„๋ผ. -์ผ„ํŠธ ๋ฒก ํ• ๋จธ๋‹ˆ์˜ ์œก์•„ ์›์น™ (ใ…‹ใ…‹)

๋‹น์‹œ ์ผ„ํŠธ๋Š” ๊ฐ“ ํƒœ์–ด๋‚œ ๋”ธ์„ ๋Œ๋ณด๋Š๋ผ ๊ธฐ์ €๊ท€ ๋ƒ„์ƒˆ์— ์ƒ๋‹นํžˆ ๋ฏผ๊ฐํ•ดํ–ˆ๋˜ ๊ฒƒ์œผ๋กœ ๊ธฐ์–ตํ•œ๋‹ค. ๊ทธ ๋•Œ๋ฌธ์ธ์ง€ ๋ฆฌํŽ™ํ„ฐ๋งํ•  ์‹œ์ ์„ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ๋ƒ„์ƒˆ๋ž€ ํ‘œํ˜„์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

114p

์–ด๋–ค ๋ฆฌํŽ™ํ„ฐ๋ง ๊ธฐ๋ฒ•์„ ์ ์šฉํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด ์ด ์žฅ์˜ ๋‚ด์šฉ๊ณผ ๋ถ€๋ก B๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ฐ์„ ์žก๊ธฐ ๋ฐ”๋ž€๋‹ค. ๋จผ์ € ์ด ์žฅ์„ (ํ˜น์€ ๋ถ€๋ก B๋ฅผ) ์ฝ๊ณ  ์ฝ”๋“œ๊ฐ€ ํ’๊ธฐ๋Š” ๋ƒ„์ƒˆ(์•…์ทจ)๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ฐพ์ž. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์šฐ๋ฆฌ๊ฐ€ ํ•ด๋ฒ•์œผ๋กœ ์ œ์‹œํ•œ ๋ฆฌํŒฉํ„ฐ๋ง ๊ธฐ๋ฒ•์„ ์ด ์ฑ…์˜ 6~12์žฅ์—์„œ ์ฐพ์•„ ์ฝ๊ณ  ๊ทธ ๋ƒ„์ƒˆ๋ฅผ ์—†์• ๋Š”๋ฐ ๋„์›€์ด ๋ ์ง€ ์ƒ๊ฐํ•ด๋ณธ๋‹ค.

3.1 ๊ธฐ์ดํ•œ ์ด๋ฆ„

114p

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

๋งˆ๋•…ํ•œ ์ด๋ฆ„์ด ๋– ์˜ค๋ฅด์ง€ ์•Š๋Š”๋‹ค๋ฉด ์„ค๊ณ„์— ๋” ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์ˆจ์–ด ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

3.2 ์ค‘๋ณต ์ฝ”๋“œ

115p

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

3.3 ๊ธด ํ•จ์ˆ˜

115p

๊ฐ„์ ‘ ํ˜ธ์ถœ์˜ ํšจ๊ณผ, ์ฆ‰ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๊ณต์œ ํ•˜๊ณ , ์„ ํƒํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค๋Š” ์žฅ์ ์€ ํ•จ์ˆ˜๋ฅผ ์งง๊ฒŒ ๊ตฌ์„ฑํ•  ๋•Œ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด๋‹ค.

์งง์€ ํ•จ์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฐ€์žฅ ํ™•์‹คํ•œ ๋ฐฉ๋ฒ•์€ ์ข‹์€ ์ด๋ฆ„์ด๋‹ค. ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ž˜ ์ง€์–ด๋‘๋ฉด ๋ณธ๋ฌธ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ด์œ ๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค.

116p

ํ•จ์ˆ˜ ๋ณธ๋ฌธ์—๋Š” ์›๋ž˜ ์ฃผ์„์œผ๋กœ ์„ค๋ช…ํ•˜๋ ค๋˜ ์ฝ”๋“œ๊ฐ€ ๋‹ด๊ธฐ๊ณ , ํ•จ์ˆ˜ ์ด๋ฆ„์€ ๋™์ž‘ ๋ฐฉ์‹์ด ์•„๋‹Œ '์˜๋„'๊ฐ€ ๋“œ๋Ÿฌ๋‚˜๊ฒŒ ์ง“๋Š”๋‹ค.

๋‹จ, ํ•จ์ˆ˜ ์ด๋ฆ„์— ์ฝ”๋“œ์˜ ๋ชฉ์ ์„ ๋“œ๋Ÿฌ๋‚ด์•ผ ํ•œ๋‹ค.

์ฆ‰, '๋ฌด์—‡์„ ํ•˜๋Š”์ง€'๋ฅผ ์ฝ”๋“œ๊ฐ€ ์ž˜ ์„ค๋ช…ํ•ด์ฃผ์ง€ ๋ชปํ• ์ˆ˜๋ก ํ•จ์ˆ˜๋กœ ๋งŒ๋“œ๋Š” ๊ฒŒ ์œ ๋ฆฌํ•˜๋‹ค.

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

3.4 ๊ธด ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก

117p

๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์ด ๊ธธ์–ด์ง€๋ฉด ๊ทธ ์ž์ฒด๋กœ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šธ ๋•Œ๊ฐ€ ๋งŽ์•˜๋‹ค.

3.5 ์ „์—ญ ๋ฐ์ดํ„ฐ

117p

์ „์—ญ ๋ฐ์ดํ„ฐ๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค ์–ด๋””์—์„œ๋“  ๊ฑด๋“œ๋ฆด ์ˆ˜ ์žˆ๊ณ  ๊ฐ’์„ ๋ˆ„๊ฐ€ ๋ฐ”๊ฟจ๋Š”์ง€ ์ฐพ์•„๋‚ผ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์—†๋‹ค๋Š” ๊ฒŒ ๋ฌธ์ œ๋‹ค.

118p

์ด๋Ÿฐ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ์ˆ˜๋กœ ๊ฐ์‹ธ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ถ€๋ถ„์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ์ ‘๊ทผ์„ ํ†ต์ œํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

3.6 ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ

118p

๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋”๋‹ˆ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๋‚˜ ๊ณจ์น˜ ์•„ํ”ˆ ๋ฒ„๊ทธ๋กœ ์ด์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๋‹ค.

ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ ˆ๋Œ€ ๋ณ€ํ•˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ (์›๋ž˜ ๋ฐ์ดํ„ฐ๋Š” ๊ทธ๋Œ€๋กœ ๋‘” ์ฑ„) ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค์–ด์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ๊ฐœ๋…์„ ๊ธฐ๋ณธ์œผ๋กœ ์‚ผ๊ณ  ์žˆ๋‹ค.

๐Ÿ’ก ์˜๊ฒฌ - ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์–ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.

3.7 ๋’ค์—‰ํ‚จ ๋ณ€๊ฒฝ

119p

์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ๋Š” ์‹œ์Šคํ…œ์—์„œ ๊ณ ์ณ์•ผ ํ•  ๋”ฑ ํ•œ ๊ตฐ๋ฐ๋ฅผ ์ฐพ์•„์„œ ๊ทธ ๋ถ€๋ถ„๋งŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž€๋‹ค.

๋’ค์—‰ํ‚จ ๋ณ€๊ฒฝ์€ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ (Single Responsibility Principle, SRP)์ด ์ œ๋Œ€๋กœ ์ง€์ผœ์ง€์ง€ ์•Š์„ ๋•Œ ๋‚˜ํƒ€๋‚œ๋‹ค.

๐Ÿ’ก ์˜๊ฒฌ - ํด๋ฆฐ์ฝ”๋“œ๋ฅผ ์ฝ์–ด๋ณด์•˜๋Š”๋ฐ, SRP๋ฅผ ๊ฐ•์กฐํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ฆฌํŽ™ํ„ฐ๋ง ์ฑ… ๋‚ด์šฉ๊ณผ ๋™์ผํ•˜๊ฒŒ ๊ฐ•์กฐ๋˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค.

3.8 ์‚ฐํƒ„์ด ์ˆ˜์ˆ 

120p

์ด ๋ƒ„์ƒˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ๋งˆ๋‹ค ์ž์ž˜ํ•˜๊ฒŒ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ํด๋ž˜์Šค๊ฐ€ ๋งŽ์„ ๋•Œ ํ’๊ธด๋‹ค.

3.9 ๊ธฐ๋Šฅ ํŽธ์• 

121p

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

122p

๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ์›์น™์€ 'ํ•จ๊ป˜ ๋ณ€๊ฒฝํ•  ๋Œ€์ƒ์„ ํ•œ๋ฐ ๋ชจ์œผ๋Š” ๊ฒƒ'์ด๋‹ค.

3.10 ๋ฐ์ดํ„ฐ ๋ญ‰์น˜

122p

๋ชฐ๋ ค๋‹ค๋‹ˆ๋Š” ๋ฐ์ดํ„ฐ ๋ญ‰์น˜๋Š” ๋ณด๊ธˆ์ž๋ฆฌ๋ฅผ ๋”ฐ๋กœ ๋งˆ๋ จํ•ด์ค˜์•ผ ๋งˆ๋•…ํ•˜๋‹ค.

ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ์ข‹์€ ํ–ฅ๊ธฐ๋ฅผ ํฉ๋ฟŒ๋ฆด ๊ธฐํšŒ๊ฐ€ ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๐Ÿ’ก ์˜๊ฒฌ - ๋ฆฌ์•กํŠธ์—์„œ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์™€ ํ›…๋งŒ ๋‹ค๋ฃจ๋‹ค๋ณด๋‹ˆ ํด๋ž˜์Šค๋ฅผ ๋‹ค๋ฃฐ ๊ธฐํšŒ๊ฐ€ ๋งŽ์ง€ ์•Š์•˜๋Š”๋ฐ ์ฑ…์—์„œ ์–ธ๊ธ‰ํ•˜๋Š” ๊ธฐ๋ฒ•๋“ค์„ ํด๋ž˜์Šค๊ฐ€ ์•„๋‹Œ ํ•จ์ˆ˜์—๋„ ์ž˜ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

3.11 ๊ธฐ๋ณธํ˜• ์ง‘์ฐฉ

123p

ํ•œํŽธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ค‘์—๋Š” ์ž์‹ ์—๊ฒŒ ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋”ฑ ๋งž๋Š” ๊ธฐ์ดˆ ํƒ€์ž…(ํ™”ํ, ์ขŒํ‘œ, ๊ตฌ๊ฐ„ ๋“ฑ)์„ ์ง์ ‘ ์ •์˜ํ•˜๊ธฐ๋ฅผ ๋ชน์‹œ ๊บผ๋ฆฌ๋Š” ์‚ฌ๋žŒ์ด ๋งŽ๋‹ค.

์ž์ฃผ ํ•จ๊ป˜ ๋ชฐ๋ ค๋‹ค๋‹ˆ๋Š” ๊ธฐ๋ณธํ˜• ๊ทธ๋ฃน๋„ ๋ฐ์ดํ„ฐ ๋ญ‰์น˜๋‹ค.

3.12 ๋ฐ˜๋ณต๋˜๋Š” switch๋ฌธ

124p

์ค‘๋ณต๋œ switch๋ฌธ์ด ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์ด์œ ๋Š” ์กฐ๊ฑด์ ˆ์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ switch๋ฌธ๋“ค๋„ ๋ชจ๋‘ ์ฐพ์•„์„œ ํ•จ๊ป˜ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Ÿด ๋•Œ ๋‹คํ˜•์„ฑ์€ ๋ฐ˜๋ณต๋œ switch๋ฌธ์ด ๋‚ด๋ฟœ๋Š” ์‚ฌ์•…ํ•œ ๊ธฐ์šด์„ ์ œ์••ํ•˜์—ฌ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ตœ์‹  ์Šคํƒ€์ผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์„ธ๋ จ๋œ ๋ฌด๊ธฐ์ธ ์…ˆ์ด๋‹ค.

3.13 ๋ฐ˜๋ณต๋ฌธ

124p

์ง€๊ธˆ์€ ์ผ๊ธ‰ ํ•จ์ˆ˜ (first-class function)๋ฅผ ์ง€์›ํ•˜๋Š” ์–ธ์–ด๊ฐ€ ๋งŽ์•„์กŒ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ์„ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ๋ฅผ ์ ์šฉํ•ด์„œ ์‹œ๋Œ€์— ๊ฑธ๋งž์ง€ ์•Š์€ ๋ฐ˜๋ณต๋ฌธ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค.

๐Ÿ’ก ์˜๊ฒฌ

  • filter(), map() ๊ฐ™์€ ๋ฉ”์„œ๋“œ๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ ์—ฐ์‚ฐ์ธ์ง€ ๋ชจ๋ฅด๊ณ  ์žˆ๋‹ค๊ฐ€ ์ด๋ฒˆ ๊ธฐํšŒ์— ์•Œ๊ฒŒ ๋˜์–ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.
  • ์ผ๊ธ‰ ํ•จ์ˆ˜๊ฐ€ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐ๋˜๋Š” ๊ฐœ๋…์ด์—์š”!

3.14 ์„ฑ์˜์—†๋Š” ์š”์†Œ

125p

๋ณธ๋ฌธ ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ์“ฐ๋Š” ๊ฒƒ๊ณผ ์ง„๋ฐฐ์—†๋Š” ํ•จ์ˆ˜๋„ ์žˆ๊ณ , ์‹ค์งˆ์ ์œผ๋กœ ๋ฉ”์„œ๋“œ๊ฐ€ ํ•˜๋‚˜๋ฟ์ธ ํด๋ž˜์Šค๋„ ์žˆ๋‹ค.

์ด๋Ÿฐ ํ”„๋กœ๊ทธ๋žจ ์š”์†Œ๋Š” ๊ณ ์ด ๋ณด๋‚ด๋“œ๋ฆฌ๋Š” ๊ฒŒ ์ข‹๋‹ค.

3.15 ์ถ”์ธก์„ฑ ์ผ๋ฐ˜ํ™”

125p

์ด ๋ƒ„์ƒˆ๋Š” '๋‚˜์ค‘์— ํ•„์š”ํ•  ๊ฑฐ์•ผ'๋ผ๋Š” ์ƒ๊ฐ์œผ๋กœ ๋‹น์žฅ์€ ํ•„์š” ์—†๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํ›„ํ‚นhooking ํฌ์ธํŠธ์™€ ํŠน์ด ์ผ€์ด์Šค ์ฒ˜๋ฆฌ ๋กœ์ง์„ ์ž‘์„ฑํ•ด๋‘” ์ฝ”๋“œ์—์„œ ํ’๊ธด๋‹ค.

3.16 ์ž„์‹œ ํ•„๋“œ

126p

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

3.17 ๋ฉ”์‹œ์ง€ ์ฒด์ธ

126p

๋ฉ”์‹œ์ง€ ์ฒด์ธ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•œ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์–ป์€ ๋’ค ๋ฐฉ๊ธˆ ์–ป์€ ๊ฐ์ฒด์— ๋˜ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์š”์ฒญํ•˜๋Š” ์‹์œผ๋กœ, ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์š”์ฒญํ•˜๋Š” ์ž‘์—…์ด ์—ฐ์‡„์ ์œผ๋กœ ์ด์–ด์ง€๋Š” ์ฝ”๋“œ๋ฅผ ๋งํ•œ๋‹ค.

์ด๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ์ฒด ๋‚ด๋น„๊ฒŒ์ด์…˜ ๊ตฌ์กฐ์— ์ข…์†๋์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ค‘๊ฐ„ ๋‹จ๊ณ„๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿ’ก ์˜๊ฒฌ - ์ด ๋ถ€๋ถ„์€ ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ๊ฐ€๋Š”๋ฐ, 7.7์žฅ์—์„œ ์ด ๋‚ด์šฉ์„ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃฐ์ง€ ๊ถ๊ธˆํ•ด์š”!

3.18 ์ค‘๊ฐœ์ž

127p

๊ฐ์ฒด์˜ ๋Œ€ํ‘œ์ ์ธ ๊ธฐ๋Šฅ ํ•˜๋‚˜๋กœ, ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์ˆจ๊ฒจ์ฃผ๋Š” ์บก์Šํ™”encapsulation๊ฐ€ ์žˆ๋‹ค. ์บก์Šํ™”ํ•˜๋Š” ๊ณผ์ •์—์„œ๋Š” ์œ„์ž„delegation์ด ์ž์ฃผ ํ™œ์šฉ๋œ๋‹ค.

128p

ํ•˜์ง€๋งŒ ์ง€๋‚˜์น˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค. ํด๋ž˜์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ค‘ ์ ˆ๋ฐ˜์ด ๋‹ค๋ฅธ ํด๋ž˜์Šค์— ๊ตฌํ˜„์„ ์œ„์ž„ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์–ด๋–ค๊ฐ€?

3.19 ๋‚ด๋ถ€์ž ๊ฑฐ๋ž˜

128p

๋ชจ๋“ˆ ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ๊ฑฐ๋ž˜๊ฐ€ ๋งŽ์œผ๋ฉด ๊ฒฐํ•ฉ๋„coupling๊ฐ€ ๋†’์•„์ง„๋‹ค๊ณ  ํˆฌ๋œ๋Œ„๋‹ค. ์ผ์ด ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๋ ค๋ฉด ๊ฑฐ๋ž˜๊ฐ€ ์ด๋ค„์งˆ ์ˆ˜ ๋ฐ–์— ์—†์ง€๋งŒ, ๊ทธ ์–‘์„ ์ตœ์†Œ๋กœ ์ค„์ด๊ณ  ๋ชจ๋‘ ํˆฌ๋ช…ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

3.20 ๊ฑฐ๋Œ€ํ•œ ํด๋ž˜์Šค

128p

ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์ผ์„ ํ•˜๋ ค๋‹ค ๋ณด๋ฉด ํ•„๋“œ ์ˆ˜๊ฐ€ ์ƒ๋‹นํžˆ ๋Š˜์–ด๋‚œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํด๋ž˜์Šค์— ํ•„๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์ค‘๋ณต ์ฝ”๋“œ๊ฐ€ ์ƒ๊ธฐ๊ธฐ ์‰ฝ๋‹ค.

129p

ํ•„๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ํด๋ž˜์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฝ”๋“œ๋Ÿ‰์ด ๋„ˆ๋ฌด ๋งŽ์€ ํด๋ž˜์Šค๋„ ์ค‘๋ณต ์ฝ”๋“œ์™€ ํ˜ผ๋™์„ ์ผ์œผํ‚ฌ ์—ฌ์ง€๊ฐ€ ํฌ๋‹ค.

3.21 ์„œ๋กœ ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋Œ€์•ˆ ํด๋ž˜์Šค๋“ค

129p

ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ํฐ ์žฅ์ ์€ ํ•„์š”์— ๋”ฐ๋ผ ์–ธ์ œ๋“  ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋‹จ, ๊ต์ฒดํ•˜๋ ค๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.

3.22 ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค

130p

๋ฐ์ดํ„ฐ ํด๋ž˜์Šค๋ž€ ๋ฐ์ดํ„ฐ ํ•„๋“œ์™€ ๊ฒŒํ„ฐ/์„ธํ„ฐ ๋ฉ”์„œ๋“œ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ํด๋ž˜์Šค๋ฅผ ๋งํ•œ๋‹ค.

ํ•œํŽธ, ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค๋Š” ํ•„์š”ํ•œ ๋™์ž‘์ด ์—‰๋šฑํ•œ ๊ณณ์— ์ •์˜๋ผ ์žˆ๋‹ค๋Š” ์‹ ํ˜ธ์ผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๋ผ๋ฉด ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๋ฅผ ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค๋กœ ์˜ฎ๊ธฐ๊ธฐ๋งŒ ํ•ด๋„ ๋Œ€ํญ ๊ฐœ์„ ๋œ๋‹ค.

3.23 ์ƒ์† ํฌ๊ธฐ

131p

๊ทธ๋ž˜์„œ ์ƒ์†์„ ํฌ๊ธฐํ•  ์‹œ ํ˜ผ๋ž€๊ณผ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค๋ฉด ์•ž์—์„œ ์„ค๋ช…ํ•œ ์˜ˆ์ „ ๋ฐฉ์‹์„ ๋”ฐ๋ฅธ๋‹ค.

์ƒ์† ํฌ๊ธฐ ๋ƒ„์ƒˆ๋Š” ์„œ๋ธŒํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจ์˜ ๋™์ž‘์€ ํ•„์š”๋กœํ•˜์ง€๋งŒ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋”ฐ๋ฅด๊ณ  ์‹ถ์ง€ ์•Š์„ ๋•Œ ํŠนํžˆ ์‹ฌํ•˜๊ฒŒ ๋‚œ๋‹ค.

์ด๋Ÿด ๋•Œ๋Š” ์„œ๋ธŒํด๋ž˜์Šค๋ฅผ ์œ„์ž„์œผ๋กœ ๋ฐ”๊พธ๊ธฐ๋‚˜ ์Šˆํผํด๋ž˜์Šค๋ฅผ ์œ„์ž„์œผ๋กœ ๋ฐ”๊พธ๊ธฐ๋ฅผ ํ™œ์šฉํ•ด์„œ ์•„์˜ˆ ์ƒ์† ๋ฉ”์ปค๋‹ˆ์ฆ˜์—์„œ ๋ฒ—์–ด๋‚˜๋ณด์ž.

3.24 ์ฃผ์„

131p

์ฃผ์„์€ ์•…์ทจ๊ฐ€ ์•„๋‹Œ ํ–ฅ๊ธฐ๋ฅผ ์ž…ํžŒ๋‹ค. ๋ฌธ์ œ๋Š” ์ฃผ์„์„ ํƒˆ์ทจ์ œ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์žˆ๋‹ค. ์ฃผ์„์ด ์žฅํ™ฉํ•˜๊ฒŒ ๋‹ฌ๋ฆฐ ์›์ธ์ด ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์ž‘์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒฝ์šฐ๊ฐ€ ์˜์™ธ๋กœ ๋งŽ๋‹ค.

์ฃผ์„์„ ๋‚จ๊ฒจ์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค๋ฉด, ๊ฐ€์žฅ ๋จผ์ € ์ฃผ์„์ด ํ•„์š” ์—†๋Š” ์ฝ”๋“œ๋กœ ๋ฆฌํŒฉํ„ฐ๋งํ•ด๋ณธ๋‹ค.

๐Ÿ’ก ์˜๊ฒฌ

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ์ฃผ์„์„ ์ง€๋‚˜์น˜๊ฒŒ ๋‚จ๊ธด ๊ธฐ์–ต์ด ๋‚˜์„œ ๋ฐ˜์„ฑํ•˜๊ฒŒ ๋˜๋„ค์š”.
  • ๊ตฐ๋”๋”๊ธฐ ์—†์ด ์ž˜ ์ž‘์„ฑ๋œ ์ฃผ์„์€ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•  ๋•Œ ํ•œ ์ค„๊ธฐ ๋น›์ด ๋ฉ๋‹ˆ๋‹ค.

โฌ…๏ธ 2์žฅ | โฌ†๏ธ ์œ„๋กœ | 4์žฅ โžก๏ธ