[Typescript] ๊ตฌ์กฐ์  ํƒ€์ดํ•‘๊ณผ ๋• ํƒ€์ดํ•‘
์›น (WEB)/๊ณต๋ถ€ 2023. 4. 16. 19:58

๐Ÿค” ๊ธฐ์กด์— ์•Œ๊ณ  ์žˆ๋˜ Duck typing๊ณผ Typescript ๊ตฌ์กฐ์  ํƒ€์ดํ•‘์˜ ์ฐจ์ด๋ฅผ ์ธ์ง€ํ•˜๊ณ  ํ•œ๊ณ„๋ฅผ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค. Duck typing์ด๋ž€ “๋งŒ์•ฝ ์–ด๋–ค ์ƒˆ๊ฐ€ ์˜ค๋ฆฌ์ฒ˜๋Ÿผ ๊ฑท๊ณ , ํ—ค์—„์น˜๊ณ , ๊ฝฅ๊ฝฅ๊ฑฐ๋ฆฌ๋Š” ์†Œ๋ฆฌ๋ฅผ ๋‚ธ๋‹ค๋ฉด ๋‚˜๋Š” ๊ทธ ์ƒˆ๋ฅผ ์˜ค๋ฆฌ๋ผ๊ณ  ๋ถ€๋ฅผ ๊ฒƒ์ด๋‹ค.” ๋ผ๋Š” ๋ง์—์„œ ํƒ„์ƒํ•˜์˜€์œผ๋ฉฐ, ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ๋ฏธ๋ฆฌ ์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋Ÿฐํƒ€์ž„ ์‹œ ๊ฐ์ฒด์˜ ํ–‰์œ„์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ํƒ€์ž… ์ˆ˜์šฉ์„ฑ์„ ์ฒดํฌํ•˜๋„๋ก ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. type Person = { name: string, age: number, }; const personA = { name: 'ํฌ์€', age: 27, }; const duckA = { name: '์˜ค๋ฆฌ', age: 2, }; const person: Person = duckA; // it's okay ํƒ€์ž…..

[C] ์†Œ์ŠคํŒŒ์ผ ๋ถ„ํ• ๋กœ ๋ชจ๋“ˆํ™” ๊ตฌํ˜„ํ•˜๊ธฐ (์„œํ•‘ ์ •๋ฆฌ)
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/C 2020. 2. 2. 19:06

๊ทœ์น™ main์€ ๋˜๋„๋ก ๋‹ค๋ฅธ ํ•จ์ˆ˜, ๊ตฌ์กฐ์ฒด, ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•˜์ง€ ๋ง๊ธฐ ์—ญํ•  ๋ณ„๋กœ ์†Œ์ŠคํŒŒ์ผ ๋ถ„ํ• ํ•˜๊ธฐ ๋‹ค๋ฅธ ์†Œ์ŠคํŒŒ์ผ์˜ ์ „์—ญ๋ณ€์ˆ˜๋Š” extern์œผ๋กœ ๋Œ์–ด์˜ค์ง€ ๋ง๊ธฐ ์†Œ์ŠคํŒŒ์ผ ๊ฐ„์˜ ๊ณ„์ธต๊ด€๊ณ„๋Š” ์—†์• ๊ณ  ๊ฐ€๋Šฅํ•œ ๋…๋ฆฝ์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์†Œ์ŠคํŒŒ์ผ ๋‘ ๊ฐœ๊ฐ€ ์„œ๋กœ ์˜์กดํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋งŒ๋“ค์ง€ ๋ง๊ธฐ ์ „์—ญ๋ณ€์ˆ˜๋Š” ๊ฑฐ์˜ ๋ฌด์กฐ๊ฑด static ๊ฑธ๊ธฐ static์€ ๋‹ค๋ฅธ ์†Œ์ŠคํŒŒ์ผ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ x ํ—ค๋”ํŒŒ์ผ vs ์†Œ์ŠคํŒŒ์ผ ํƒ€์ด๋ฐ์˜ ์ฐจ์ด! https://m.blog.naver.com/justkukaro/220767142003 ์ฐธ๊ณ  ํ—ค๋”ํŒŒ์ผ๋กœ ๋งŒ๋“ค์—ˆ์„ ๊ฒฝ์šฐ => ํ•˜๋‚˜์˜ ์†Œ์ŠคํŒŒ์ผ, ๋ชฉ์ ํŒŒ์ผ๋กœ ์ƒ์„ฑ๋จ ์†Œ์ŠคํŒŒ์ผ๋กœ ๋งŒ๋“ค์—ˆ์„ ๊ฒฝ์šฐ => ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์†Œ์ŠคํŒŒ์ผ, ๋ชฉ์ ํŒŒ์ผ๋กœ ์ƒ์„ฑ๋จ ๋ฌธ์ œ์  Main.c (์†Œ์ŠคํŒŒ์ผ), Calculater.c (์†Œ์ŠคํŒŒ์ผ) ๋‘ ํŒŒ์ผ์—์„œ Print.h..