๋ชฉ๋ก์ „์ฒด ๊ธ€ (115)

let's get IT with DAVINA ๐Ÿ’ป

TypeScript(Classes)

Pre-Knowledge ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Object Oriented Programming) ⇒ ๊ฐ์ฒด์˜ ์ž…์žฅ์—์„œ ๋ณด๋Š”๊ฒƒ!!! ์‚ฌ๋žŒ์ด ์„ธ๊ณ„๋ฅผ ๋ณด๊ณ  ์ดํ•ดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ‰๋‚ด ๋‚ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•๋ก  ์ค‘ ํ•˜๋‚˜ ⇒ ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์„ ๋งŒ๋“ค ๋•Œ์— ์œ ์šฉํ•˜๋‹ค! “ํด๋ž˜์Šค”๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ฒญ์‚ฌ์ง„์„ ์ด์šฉํ•ด ์ฝ”๋“œ ์ž‘์„ฑ โญ 4๊ฐ€์ง€ ์ฃผ์š” ๊ฐœ๋… 1. Encapsulation(์บก์Šํ™”) : ๋ฐ์ดํ„ฐ์™€ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ฌถ๋Š” ๊ฒƒ 2. Inheritance(์ƒ์†) : ๊ธฐ๋ณธ ํด๋ž˜์Šค์˜ ํŠน์ง•์„ ํŒŒ์ƒ ํด๋ž˜์Šค๊ฐ€ ์ƒ์†๋ฐ›๋Š”๋‹ค. (๋ถ€๋ชจ/์ž์‹) 3. Abstraction(์ถ”์ƒํ™”) : ๋‚ด๋ถ€ ๊ตฌํ˜„์€ ์•„์ฃผ ๋ณต์žกํ•œ๋ฐ, ์‹ค์ œ๋กœ ๋…ธ์ถœ๋˜๋Š” ๋ถ€๋ถ„์€ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค๋Š” ๊ฐœ๋… 4. Polymorphism(๋‹คํ˜•์„ฑ) : ๋˜‘๊ฐ™์€ ๋ฉ”์„œ๋“œ์—ฌ๋„ ๋‹ค๋ฅธ ..

DEV_IN/TypeScript 2023. 2. 12. 00:19
Redux

Redux๋ž€? ์ƒํƒœ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ „์—ญ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” Store์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ํ•˜๊ธฐ์™€ ๊ฐ™์€ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ปดํฌ๋„ŒํŠธ์™€ ์ƒํƒœ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ํŒจํ„ด Redux์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ๋ณ€๊ฒฝ๋  ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด Action ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด Action๊ฐ์ฒด๋Š” Dispatch ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. Dispatch ํ•จ์ˆ˜๋Š” Action ๊ฐ์ฒด๋ฅผ Reducer ํ•จ์ˆ˜๋กœ ์ „๋‹ฌํ•ด์ค๋‹ˆ๋‹ค. Reducerํ•จ์ˆ˜๋Š” Action ๊ฐ์ฒด์˜ ๊ฐ’์„ ํ™•์ธํ•˜๊ณ , ๊ทธ ๊ฐ’์— ๋”ฐ๋ผ ์ „์—ญ ์ƒํƒœ ์ €์žฅ์†Œ Store์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด, React๋Š” ํ™”๋ฉด์„ ๋‹ค์‹œ ๋ Œ๋”๋ง ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Redux์—์„  Action→Dispatch→Reducer→Store ์ˆœ์„œ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ํ๋ฅด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค...

DEV_IN/Library 2023. 2. 9. 05:45