๐Ÿ“š 3์ฃผ์ฐจ ์Šคํ„ฐ๋”” ํšŒ๊ณ 

pjw__98ยท2023๋…„ 11์›” 22์ผ
1
post-thumbnail

๐Ÿ“š ์Šคํ„ฐ๋”” ๋ช… : ๋ชจ๋˜ํ• -์ˆ˜-์žˆ๋Š”๊ฑฐ-๋งž๋Š”๊ฑฐ๋‹ˆ
๐Ÿ“… ์Šคํ„ฐ๋”” 3์ฃผ์ฐจ :
2023 / 11 / 23 (๋ชฉ) PM 5:00 ~ 6:00
๐Ÿ“–3์ฃผ์ฐจ ์Šคํ„ฐ๋”” ๋ชฉํ‘œ ๋ฒ”์œ„ :
๋ชจ๋˜์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive
06์žฅ ๋ฐ์ดํ„ฐํƒ€์ž… (page.59 ~ page.73)
๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ์ง„ํ–‰ ์ˆœ์„œ :
์Šคํ„ฐ๋”” ํŒ€์›๋“ค(์ด4๋ช…) ๊ณผ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•œ ์ฃผ๊ฐ„ ์ฝ๊ณ ,
3์ฃผ์ฐจ ๋ชฉํ‘œ ๋ฒ”์œ„ ๋‚ด์— ๊ฐœ์ธ์ด ์„ ์ •ํ•œ ์ฃผ์ œ 1~2๋ถ„๊ฐ„ ๋ฐœํ‘œ ์ง„ํ–‰

๐Ÿค“ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ ๋‚ด์šฉ๋“ค

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ํƒ€์ž…(data type)

๋ฐ์ดํ„ฐ ํƒ€์ž…datatype(์ค„์—ฌ์„œ 'ํƒ€์ž…'์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค)์€ ๊ฐ’์˜ ์ข…๋ฅ˜๋ฅผ ๋งํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฐ’์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ–๋Š”๋‹ค.

๋ฐ์ดํ„ฐ ํƒ€์ž…์—๋Š” ์›์‹œํƒ€์ž…๊ณผ ๊ฐ์ฒด ํƒ€์ž…์ด ์žˆ๋‹ค.

  • ์›์‹œํƒ€์ž…(primitive type)
    • Number : ์ˆซ์ž, ์ •์ˆ˜์™€ ์‹ค์ˆ˜ ๊ตฌ๋ถ„ ์—†์ด ํ•˜๋‚˜์˜ ์ˆซ์ž ํƒ€์ž…๋งŒ ์กด์žฌ
    • String : ๋ฌธ์ž์—ด
    • boolen : ๋…ผ๋ฆฌ์  ์ฐธ(true) ๊ณผ ๊ฑฐ์ง“ (false)
    • null : ๊ฐ’์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋„์ ์œผ๋กœ ๋ช…์‹œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’
    • undefined :var ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ๋œ ํ•จ์ˆ˜์— ์•”๋ฌต์ ์œผ๋กœ ํ• ๋‹น๋˜๋Š” ๊ฐ’
    • symbol :์ฃผ๋กœ ์ด๋ฆ„์ด ์ถฉ๋Œํ•  ์œ„ํ—˜์ด ์—†๋Š” ๊ฐ์ฒด์˜ ์œ ์ผํ•œ ํ”„๋กœํผํ‹ฐ ํ‚ค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

์ด 6๊ฐ€์ง€ ์›์‹œํƒ€์ž…์ด ์žˆ๋‹ค.

  • ๊ฐ์ฒดํƒ€์ž…(object type)

ํ•จ์ˆ˜,๊ฐ์ฒด,๋ฐฐ์—ด๋“ฑ์ด ํ•ด๋‹นํ•œ๋‹ค.

๐Ÿ“Œ ๊ฐ์ฒดํƒ€์ž…

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

๐Ÿ“Œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์‚ฌํ•ญ

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

= let์ด๋‚˜ const ๊ฐ™์€ ์ง€์—ญ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ž !

๋ณ€์ˆ˜ ์ด๋ฆ„์€ ๋ณ€์ˆ˜์˜ ๋ชฉ์ ์ด๋‚˜ ์˜๋ฏธ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„ค์ด๋ฐํ•œ๋‹ค. ๋ณ€์ˆ˜ ์ด๋ฆ„๋ฟ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์‹๋ณ„์ž(๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค ์ด๋ฆ„ ๋“ฑ)๋Š” ์กด์žฌ ์ด์œ ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ ˆํ•œ ์ด๋ฆ„์œผ๋กœ ์ง€์–ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ ์‹๋ณ„์ž์˜ ์œ ํšจ ๋ฒ”์œ„๊ฐ€ ๋„“์„์ˆ˜๋ก ๋ช…ํ™•ํ•œ ์ด๋ฆ„์„ ๋ช…๋ช…ํ•˜๋„๋ก ๋…ธ๋ ฅํ•˜์ž. ๊ฐœ๋ฐœ์ž์˜ ์˜๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ช…ํ™•ํ•œ ๋„ค์ด๋ฐ์€ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ , ์ด๋Š” ํ˜‘์—…๊ณผ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ์— ๋„์›€์„ ์ค€๋‹ค. ๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ ๋ณ€์ˆ˜ ์ด๋ฆ„์€ ์ฒซ์•„์ด ์ด๋ฆ„์„ ์ง“๋“ฏ์ด ์‹ฌ์‚ฌ์ˆ™๊ณ ํ•ด์„œ ์ง€์–ด์•ผ ํ•œ๋‹ค.

                ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๋Š” ์ฝ”๋“œ๋Š” ์–ด๋–ค ๋ฐ”๋ณด๋„ ์“ธ ์ˆ˜ ์žˆ๋‹ค. 
          ํ•˜์ง€๋งŒ ํ›Œ๋ฅญํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์“ด๋‹ค. 

               ๋งˆํ‹ด ํŒŒ์šธ๋ŸฌMartin Fowler, ใ€Š๋ฆฌํŒฉํ† ๋ง>์˜ ์ €์ž

๐Ÿค” ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ ์ด์œ 

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ํƒ€์ž…(data type)
๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ธ์ง€ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•  ๊ธฐ๋ณธ์ƒ์‹์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋ณดํ†ต ๊ฐ’์„ ํ• ๋‹นํ•ด์ฃผ๋Š”๋ฐ ์ด ๊ฐ’๋“ค์€ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ˆซ์ž 3์„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๊ณ  ์‹ถ์€๋ฐ
let result = '2' + 1 ;
์ด๋ ‡๊ฒŒ ๊ฐ’์„ ํ• ๋‹น์„ ํ•œ๋‹ค๋ฉด,
result์— ํ• ๋‹น ๋œ ๊ฐ’์€ Number 3์ด ์•„๋‹Œ String๊ฐ’์ธ '21';๋กœ ํ• ๋‹น์ด ๋ฉ๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š์œผ๋ ค๋ฉด ๋ฐ์ดํ„ฐํƒ€์ž… ์ข…๋ฅ˜์™€ ํŠน์ง•์— ๋Œ€ํ•ด ์•Œ๊ณ ์žˆ ์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๊ฐ์ฒด๋‚˜ ์ œ์–ด๋ฌธ ๋ฐ˜๋ณต๋ฌธ ๋“ฑ ๋ฐ์ดํ„ฐํƒ€์ž…์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐํƒ€์ž…์˜ ์ข…๋ฅ˜์™€ ๊ฐ’๋“ค์˜ ๋‚ด์šฉ์€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

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

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

๐Ÿ’ก 3์ฃผ์ฐจ ๋А๋‚€์  3๊ฐ€์ง€
"์ด๋ฒˆ ์ฑ•ํ„ฐ๋Š” ์ •๋ง ์ค‘์š”ํ•œ ๋‚ด์šฉ์ด ๋งŽ๋‹ค."
"๊ทธ ์ค‘ ๊ฐ์ฒดํƒ€์ž…์€ ์ง„์งœ ์ค‘์š”ํ•œ ๋‚ด์šฉ์ธ๊ฒƒ๊ฐ™๋‹ค."
"ํ›Œ๋ฅญํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋˜๋ณด์ž ..."

profile
โ˜„๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€