--- id: P-REINFORCE-AUTO-E5B908 category: "[[10_Wiki/๐Ÿ’ก Topics/Programming & Language]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - ์—์ผ๋ฆฌ์–ด์‹ฑ (Aliasing)" --- # [[์—์ผ๋ฆฌ์–ด์‹ฑ (Aliasing)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ์—์ผ๋ฆฌ์–ด์‹ฑ(Aliasing)์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ธฐ์กด ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์ƒˆ๋กœ์šด ์ด๋ฆ„์„ ๋ถ€์—ฌํ•˜๊ฑฐ๋‚˜(ํƒ€์ž… ์—์ผ๋ฆฌ์–ด์‹ฑ), ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์ฐธ์กฐ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋˜๋Š” ํ˜„์ƒ(์ฐธ์กฐ ์—์ผ๋ฆฌ์–ด์‹ฑ)์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค [1, 2]. TypeScript์—์„œ ํƒ€์ž… ์—์ผ๋ฆฌ์–ด์‹ฑ์€ ๊ธฐ์กด ํƒ€์ž…๊ณผ ์ƒํ˜ธ ํ˜ธํ™˜๋˜๋Š” ์„œ์ˆ ์ ์ธ ์ด๋ฆ„ํ‘œ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์ฐธ์กฐ ์—์ผ๋ฆฌ์–ด์‹ฑ์€ `readonly` ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€๋ณ€(mutable) ์ฐธ์กฐ๋กœ ์ „๋‹ฌ๋  ๋•Œ ์˜๋„์น˜ ์•Š์€ ๋ฐ์ดํ„ฐ ๋ณ€ํ˜•(Mutation)์„ ์ผ์œผํ‚ค๋Š” ์ฃผ์š” ์›์ธ์ด ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค [1-3]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **ํƒ€์ž… ์—์ผ๋ฆฌ์–ด์‹ฑ (Type Aliasing):** TypeScript์—์„œ `type` ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ํƒ€์ž…์— ์ƒˆ๋กœ์šด ์ด๋ฆ„์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์„ ํƒ€์ž… ์—์ผ๋ฆฌ์–ด์Šค๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค [4]. ์˜ˆ๋ฅผ ๋“ค์–ด `type Percentage = number`์™€ ๊ฐ™์ด ์„ ์–ธํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์ด๋Š” ๋‹จ์ˆœํžˆ ๊ธฐ์กด ํƒ€์ž…์— ์ƒˆ๋กœ์šด ์ด๋ฆ„์„ ๋ถ€์—ฌํ•˜๋Š” ์„œ์ˆ ์ ์ธ(descriptive) ์—ญํ• ๋งŒ ํ•  ๋ฟ, ๊ธฐ๋Šฅ์ ์œผ๋กœ ์™„์ „ํžˆ ๋…๋ฆฝ๋œ ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค(๊ธฐ์กด ํƒ€์ž…๊ณผ ์ƒํ˜ธ ๊ตํ™˜ ๊ฐ€๋Šฅ) [1]. ์ฃผ๋กœ ์›์‹œ ํƒ€์ž…(primitives), ์œ ๋‹ˆ์–ธ(unions), ํŠœํ”Œ(tuples) ๋“ฑ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ํž˜๋“  ๋ณต์žกํ•œ ํƒ€์ž… ๊ตฌ์„ฑ์„ ๋ช…๋ช…ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค [4, 5]. - **๋ฐ์ดํ„ฐ ์ฐธ์กฐ ์—์ผ๋ฆฌ์–ด์‹ฑ๊ณผ `readonly`์˜ ํ•จ์ •:** TypeScript์—์„œ `readonly` ์ˆ˜์‹์–ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ€์žฅ ์ž์ฃผ ๊ฒช๋Š” ํ•จ์ •์€ ์—์ผ๋ฆฌ์–ด์‹ฑ(Aliasing)์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ๋ณ€ํ˜•์ž…๋‹ˆ๋‹ค [2]. `readonly`๋Š” ์˜ค์ง ํ•ด๋‹น `readonly` ์ฐธ์กฐ๋ฅผ ํ†ตํ•œ ์ง์ ‘์ ์ธ ์ ‘๊ทผ ๋ฐ ์ˆ˜์ •๋งŒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค [6]. - **ํƒ€์ž… ํ˜ธํ™˜์„ฑ์œผ๋กœ ์ธํ•œ ๋ณ€ํ˜• ์œ„ํ—˜:** ๋งŒ์•ฝ `readonly`๋กœ ์„ ์–ธ๋œ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ณ€(mutable) ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ธฐ๋Œ€ํ•˜๋Š” ํ•จ์ˆ˜์— ์ „๋‹ฌํ•  ๊ฒฝ์šฐ, TypeScript๋Š” ํƒ€์ž… ํ˜ธํ™˜์„ฑ(type compatibility)์˜ ์ด์œ ๋กœ ์ด๋ฅผ ํ—ˆ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค [2]. ์ด๋ ‡๊ฒŒ ์—์ผ๋ฆฌ์–ด์‹ฑ์ด ๋ฐœ์ƒํ•˜๋ฉด ํ•ด๋‹น ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ๊ฐ€๋ณ€ ์ฐธ์กฐ๋ฅผ ํ†ตํ•ด ์›๋ณธ "readonly" ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [2, 3]. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ์„ค๊ณ„ํ•˜์—ฌ `readonly` ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๋„๋ก ๊ฐ•์ œํ•˜๊ฑฐ๋‚˜, ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [3]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[Type Alias (ํƒ€์ž… ๋ณ„์นญ)]], [[Readonly]], [[Opaque Types (๋ถˆํˆฌ๋ช… ํƒ€์ž…)]] - **Projects/Contexts:** [[TypeScript์˜ ๋ถˆ๋ณ€์„ฑ(Immutability) ๊ด€๋ฆฌ]], [[์ธํ„ฐํŽ˜์ด์Šค์™€ ํƒ€์ž… ๋ณ„์นญ ๋น„๊ต(Interface vs Type)]] - **Contradictions/Notes:** TypeScript์˜ `readonly`๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„์— ๋ถˆ๋ณ€์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ด์ง€๋งŒ, ์—์ผ๋ฆฌ์–ด์‹ฑ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€๋ณ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋  ๊ฒฝ์šฐ์—๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ด๋ฅผ ์žก์•„๋‚ด์ง€ ๋ชปํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋  ์ˆ˜ ์žˆ๋‹ค๋Š”(์–•์€ ๋ถˆ๋ณ€์„ฑ) ๊ทผ๋ณธ์ ์ธ ํ•œ๊ณ„๋ฅผ ์ง€๋‹™๋‹ˆ๋‹ค [2, 6]. --- *Last updated: 2026-04-18* - Raw Source: [[00_Raw/2026-04-20/์—์ผ๋ฆฌ์–ด์‹ฑ (Aliasing).md]] ---