์ ์ฒด ๊ธ
[ํ์ ์คํฌ๋ฆฝํธ] ํธ์ถ ์๊ทธ๋์ฒ(ํ์ ์๊ทธ๋์ฒ)๋?
ํจ์ ์๊ทธ๋์ฒ๋ ์ปดํ์ผ๋ฌ๊ฐ ํจ์๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ ๊ตฌ์ฑ์์๋ฅผ ๋งํ๋ค. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ง๋ค ์๊ทธ๋์ณ๋ฅผ ๊ตฌ์ฑํ๋ ์์๊ฐ ๋ค๋ฅด์ง๋ง ๋์ฒด์ ์ผ๋ก ์๋์ ์์๊ฐ ํฌํจ๋์ด ์๋ค. ํจ์์ ์ด๋ฆ ๋งค๊ฐ๋ณ์(Parameter)์ ๊ฐ์ (์ต์ ๋) ๋งค๊ฐ๋ณ์์ ์๋ฃํ (์ต์ ๋) ๋ฐํํ๋ ๊ฐ์ ์๋ฃํ ๋ง์ฝ ๋ ํจ์์ ์ด๋ฆ, ๋งค๊ฐ๋ณ์์ ๊ฐ์, ๊ทธ ํ์ ์ด ๋ชจ๋ ๊ฐ๋ค๋ฉด ์ด ๋ ํจ์์ ์๊ทธ๋์ฒ๋ ๊ฐ๋ค๊ณ ํ ์ ์๋ค. ํจ์์ ์ ์ฒด ํ์ ์ ํํํ๋ ๋ฐฉ๋ฒ function sum(a: number, b: number): number { return a + b; } numberํ์ ์ ์ธ์ ๋๊ฐ๋ฅผ ๋ฐ์ numberํ์ ์ ๋ฐํํ๋ค๋ ๋ป์ ํ์ ์คํฌ๋ฆฝํธ์ ํจ์ ํ์ ๋ฌธ๋ฒ (a: number, b: number) => number ์ด๋ฐ ์์ ํํ์ ํธ์ถ ์..
TS๋ก ์ฝ๋ฐฑ ํจ์, ์ค์ฒฉ ํจ์, ๊ณ ์ฐจ ํจ์ ๊ตฌํ
darren, dev blog :: TS๋ก ์ฝ๋ฐฑ ํจ์, ์ค์ฒฉ ํจ์, ๊ณ ์ฐจ ํจ์ ๊ตฌํ (tistory.com)
[์ฉ์ด] ์ ์ธ๊ณผ ์ ์์ ์ฐจ์ด
[java] Java์์ ์ ์ธ๊ณผ ์ ์์ ์ฐจ์ด์ ์ ๋ฌด์์ ๋๊น? - ๋ฆฌ๋ทฐ๋๋ผ (daplus.net) [java] Java์์ ์ ์ธ๊ณผ ์ ์์ ์ฐจ์ด์ ์ ๋ฌด์์ ๋๊น? - ๋ฆฌ๋ทฐ๋๋ผ ๋ ์ฉ์ด๊ฐ ๋งค์ฐ ํผ๋ ์ค๋ฝ์ต๋๋ค. stackoverflow๋ฅผ ํ์ธํ ๊ฒฐ๊ณผ C ++์๋ ๋น์ทํ ์ง๋ฌธ์ด ์์ง๋ง Java์๋ ํด๋น๋์ง ์์ต๋๋ค. ๋๊ตฐ๊ฐ ์๋ฐ์ ๋ํ ๋ ์ฉ์ด์ ์ฐจ์ด์ ์ ์ค๋ช ํ ์ ์์ต๋๊น? ๋ต๋ณ ๊ฐ๋ daplus.net ์ผ๋๋ฒ์ฆ์ ๊ฐ๋ฐ ๋ก๊ทธ :: C++ ์์ ์ ์์ ์ ์ธ์ ์ฐจ์ด์ (tistory.com) C++ ์์ ์ ์์ ์ ์ธ์ ์ฐจ์ด์ ์ ์ธ(Declaration) ๊ณผ ์ ์(Definition) ์ ์ธ์ ํ๋ก๊ทธ๋จ์๊ฒ ๋จ์ง ์ด๋ฆ์ ์๋ ค์ฃผ๋ ๊ฒ์ด๊ณ , ์ ์๋ ํ์ , ์ธ์คํด์ค, ํจ์ ๊ฐ์ ์์๋ฅผ ์ ์ผํ๊ฒ ์ค๋ช ํ๋ ๊ฒ์ด๋ค. ์๋์ ๊ฐ์..
[ํ์ ์คํฌ๋ฆฝํธ] ์ถ์ํ๋ฅผ ์ด์ฉํด์ ํด๋์ค ๊ฐ์ ํ๊ธฐ
- ์ธ๋ถ์์ ํด๋์ค๋ฅผ ๋ฐ๋ผ ๋ดค์ ๋, ์ฌ์ฉํด์ผ ํ ํจ์๊ฐ ๋๋ฌด ๋ง์ด ๋จ๋ฉด ์ฌ์ฉ์๋ ๋ฌด์์ ์ฌ์ฉํด์ผ ํ ์ง ํผ๋์ค๋ฌ์ธ ์ ์๋ค. ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ ๋์ ํ ์ ์๋ ๊ฐ๋ ์ด ๋ฐ๋ก '์ถ์ํ'์ด๋ค. ์ ๋ง ํ์ํ api๋ค๋ง ๋ ธ์ถํจ์ผ๋ก์จ ํด๋์ค๋ฅผ ๋ณด๋ค ์ฌ์ฉํ๊ฒ ์ฝ๊ฒ ๋ง๋ค์ด ์ค ์ ์๋ค. ๋ค์ ์๋์ ๊ฐ์ ์ปคํผ๋จธ์ ํด๋์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ค. // //์ปคํผ๋จธ์ ๋ง๋ค๊ธฐ type CoffeeCup = { orderShot: number; }; class coffeeMachine { private static ONE_SHOT_CAPSULE: number = 3; private static ONE_CUP_WATER: number = 10; static makeMachine(beans: number, water: number):..
[ํ์ ์คํฌ๋ฆฝํธ] ์บก์ํ, ์ถ์ํ ์ฐจ์ด ๋ช ํํ๊ธฐ ์ก๊ธฐ
OOP ์์ฒด๊ฐ ์ธ์์ ์๋ ๊ฒ์ ๋ณธ๋ฐ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ๊ทธ๊ฒ๋ค๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ๊ฒ ๋ค๋ ๊ฐ๋ ์ด๊ณ ์บก์ํ์ ์ถ์ํ๋ ์์ด๋์ด ์์ฒด๋ ๊ณต์ ํ์ง๋ง ์ฌ๋ญ ๊ฐ๋๊ฐ ๋ค๋ฅธ ๋๋์ด๋ค. ์บก์ํ๋ ์ธ์์ ์๋ ๊ฒ์ ๋ณธ๋ฐ ํด๋์ค๋ฅผ ๋ง๋ค ๋ ํ๋์ ๊ฐ์ฒด์ ๋ํด ๊ทธ ๊ฐ์ฒด๊ฐ ํน์ ํ ๋ชฉ์ ์ ์ํ ํ์ํ ๋ณ์๋ ๋ฉ์๋๋ฅผ ํ๋๋ก ๋ฌถ๋ ๊ฒ์ ์๋ฏธํ๋ค. [๋ฐ๋ผ๋์ค๋ ๊ฐ๋ : ์ ๋ณด์๋, private/public/protected, getter/setter] ์ถ์ํ๋ ์ธ์์ ์๋ ๊ฒ์ ๋ณธ๋ฐ ํด๋์ค๋ฅผ ๋ง๋ค ๋ ์ถ์์ ์ผ๋ก ์๊ฐํด ํด๋์ค ์์ ์ต์ ๋ค์ด๊ฐ์ผ๊ฒ ๋ค ์ถ์ ๊ณตํต์ ์ธ ์์๋ ํ์์ ์ธ ์์๋ค์ ๋ฃ์ด์ ๋ง๋๋ ๊ฒ์ด๋ค. [๋ฐ๋ผ ๋์ค๋ ๊ฐ๋ : ์ถ์ํด๋์ค, ์ธํฐํ์ด์ค] ์บก์ํ๋, ํ๋์ ๊ฐ์ฒด์ ํ์ํ ๋ฉ์๋์ ๋ณ์๋ค์ ํ๋๋ก ๋ฌถ๋ ๊ฒ์ด๊ณ , ์ ๋ณด ์..
[ํ์ ์คํฌ๋ฆฝํธ] ํธ์ถ ์๊ทธ๋์ฒ
ํ์ ์คํฌ๋ฆฝํธ๋ก ํจ์์ ์ ์ฒด ํ์ ์ ํํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. object๋ก ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์๋ ๊ฒ์ฒ๋ผ function์ ๋ชจ๋ ํจ์์ ํ์ ์ ๋ปํ ๋ฟ์ด๋ฉฐ, ๊ทธ๊ฒ์ด ๊ฐ๋ฆฌํค๋ ํน์ ํจ์์ ํ์ ๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ ์๋ฌด ๊ฒ๋ ์๋ ค์ฃผ์ง ์๋๋ค. function sum(a: number, b: number): number { return a + b; } ๊ทธ๋ ๋ค๋ฉด ์ sum์ ํ์ ์ ํํํ ์ ์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ชจ์ํด๋ณด์. sum์ ๋ ๊ฐ์ number์ ์ธ์๋ก ๋ฐ์ ํ ๊ฐ์ number๋ฅผ ๋ฐํํ๋ ํจ์๋ค. ํ์ ์คํฌ๋ฆฝํธ์์๋ ์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํํํ ์ ์๋ค. (a:number, b:number)=> number ์ ์ฝ๋๋ ํ์ ์คํฌ๋ฆฝํธ์ ํจ์ ํ์ ๋ฌธ๋ฒ์ผ๋ก, ํธ์ถ ์๊ทธ๋์ฒ(call signature) ๋๋ ํ์ ..