note

    [CSS] transfrom ์Šคํƒ€์ผ์ด ์ ์šฉ๋œ ์š”์†Œ์˜ ์ž์‹์š”์†Œ์—์„œ position: fixed๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ์ด์œ 

    position: fixed ์™€ transform transfrom ์Šคํƒ€์ผ์ด ์ ์šฉ๋œ ์š”์†Œ์˜ ์ž์‹์š”์†Œ์—์„œ position: fixed๋ฅผ ์ ์šฉ์‹œํ‚ค๋ฉด ์˜๋„ํ•œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ณดํ†ต ๋ทฐํฌํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์š”์†Œ๋ฅผ ์œ„์น˜์‹œํ‚ค๊ธฐ ์œ„ํ•ด fixed๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, transfrom์ด ์ ์šฉ๋œ ์š”์†Œ์˜ ๋‚ด๋ถ€์—์„œ๋Š” transfrom ์š”์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์น˜๊ฐ€ ๋˜๊ฒŒ ๋œ๋‹ค. ์ด์œ ๋ฅผ w3 ๊ณต์‹๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. For elements whose layout is governed by the CSS box model, any value other than none for the transform property also causes the element to establish a containing block for..

    [Next.js] Dynamic Imports

    Next.js์—์„œ์˜ Lazy Loading Lazy Loading์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์š”๊ตฌ๋˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ํ•„์š”ํ•  ๋•Œ๋งŒ ๋กœ๋“œํ•ด์„œ ๋กœ๋”ฉ ์†๋„๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์ „๋žต์ด๋‹ค. Next.js ์—์„œ Lazy Loading ์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. 1. Dynamic Imports 2. React.lazy()์™€ Suspense React.lazy()์™€ Suspense React.lazy()๋Š” React์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‚ด์žฅ ๊ธฐ๋Šฅ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ํ•„์š”ํ•œ ์‹œ์ ์— ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์ด์™€ ํ•จ๊ป˜ Suspense๋Š” lazy ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋กœ๋“œ ๋˜๋Š” ๋™์•ˆ ๋Œ€์ฒดํ•ด์„œ ๋ณด์—ฌ์ค„ ์š”์†Œ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. React ํ”„๋กœ์ ํŠธ ์‹œ React Router ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์„œ ํŽ˜์ด์ง€ ์ „ํ™˜ ๋กœ๋”ฉ..

    [Next.js] import ๊ฒฝ๋กœ์— @๋ณ„์นญ ์‚ฌ์šฉํ•˜๊ธฐ

    [Next.js] import ๊ฒฝ๋กœ์— @๋ณ„์นญ ์‚ฌ์šฉํ•˜๊ธฐ

    import ์ ˆ๋Œ€ ๊ฒฝ๋กœ & ๊ฒฝ๋กœ ๋ณ„์นญ next.js ํ”„๋กœ์ ํŠธ ์‹œ tsconfig.json ์˜ต์…˜์„ ํ†ตํ•ด ๊ฒฝ๋กœ๋ฅผ ๋ณ„์นญ์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. import ์ ˆ๋Œ€ ๊ฒฝ๋กœ // tsconfig.json / jsconfig.json { "compilerOptions": { "baseUrl": "./src" } } tsconfig.json ๋˜๋Š” jsconfig.json ํŒŒ์ผ์—์„œ baseUrl ์˜ต์…˜์— ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ๊ฐ€์ ธ์˜ฌ ๊ฒฝ๋กœ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. [ic]"baseUrl":"./src"[/ic] ์ž‘์„ฑ ์‹œ ์•„๋ž˜์™€ ๊ฐ™์ด import ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. import ๊ฒฝ๋กœ ๋ณ„์นญ // tsconfig.json / jsconfig.json { "compilerOptions": { "paths": { "@/*": ["./sr..

    Node.js๋กœ CRA ์‹œ ๊ธฐ๋ณธ ํŒŒ์ผ๊ณผ ํด๋” ํ•œ ๋ฒˆ์— ์„ธํŒ…ํ•˜๊ธฐ

    Node.js๋กœ CRA ์‹œ ๊ธฐ๋ณธ ํŒŒ์ผ๊ณผ ํด๋” ํ•œ ๋ฒˆ์— ์„ธํŒ…ํ•˜๊ธฐ

    ๋ฆฌ์•กํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ CRA ๋•Œ๋งˆ๋‹ค ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ธฐ๋ณธ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ํด๋”๋ง ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ด ์‹œ๊ฐ„์ด ์•„๊น๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋งค ๋ฒˆ component ๊ตฌ์กฐ๋‚˜ ํŒŒ์ผ์ด ๋ฐ”๋€Œ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋„ ์• ๋งคํ–ˆ๋Š”๋ฐ, ์ด ์ž‘์—…๋“ค์„ Node.js์˜ file system์„ ์ด์šฉํ•ด์„œ ์ž๋™ํ™”๋ฅผ ํ•ด๋ณด์•˜๋‹ค. file system ๋ชจ๋“ˆ import Node.js์— ๋‚ด์žฅ๋˜์–ด์žˆ๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค. const fs = require('fs'); ๋””๋ ‰ํ† ๋ฆฌ ์„ธํŒ… ์ƒ์„ฑํ•  ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ array์— ๋‹ด์•„ ์ž‘์„ฑํ•ด์ค€๋‹ค. const arrDirectory = [ 'src/apis', 'src/components/Shared/BtnLike', 'src/components/Shared/NotFound', 'src/components..

    [Deep Dive] 42์žฅ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

    [Deep Dive] 42์žฅ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

    ๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒœ์Šคํฌ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๋ฐฉ์‹์€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒœ์Šคํฌ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜๋ฆฌ์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ํƒœ์Šคํฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ๋ธ”๋กœํ‚น(์ž‘์—… ์ค‘๋‹จ)์ด ๋ฐœ์ƒํ•œ๋‹ค. ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํƒœ์Šคํฌ๊ฐ€ ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ์— ์‹คํ–‰๋  ํƒœ์Šคํฌ๊ฐ€ ๋Œ€๊ธฐํ•˜๋Š” ๋ฐฉ์‹์„ ๋™๊ธฐ ์ฒ˜๋ฆฌ๋ผ๊ณ  ํ•œ๋‹ค. setTimeout ํ•จ์ˆ˜๋Š” ์ผ์ • ์‹œ๊ฐ„์ด ๊ฒฝ๊ณผํ•œ ์ดํ›„์— ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์ง€๋งŒ setTimeout ์ดํ›„์˜ ํƒœ์Šคํฌ๋ฅผ ๋ธ”๋กœํ‚นํ•˜์ง€ ์•Š๊ณ  ๊ณง๋ฐ”๋กœ ์‹คํ–‰ํ•œ๋‹ค. ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํƒœ์Šคํฌ๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋ผ ํ•ด๋„ ๋‹ค์Œ ํƒœ์Šคํฌ๋ฅผ ๊ณง๋ฐ”๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์„ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ผ๊ณ  ํ•œ๋‹ค. setTimeout๊ณผ setInterval, HTTP์š”์ฒญ, ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ..

    [Deep Dive] 22์žฅ this

    this ํ‚ค์›Œ๋“œ this๋Š” ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด ๋˜๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ž๊ธฐ ์ฐธ์กฐ ๋ณ€์ˆ˜๋‹ค. this๋ฅผ ํ†ตํ•ด ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด ๋˜๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค์˜ ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ arguments ๊ฐ์ฒด์™€ this๊ฐ€ ์•”๋ฌต์ ์œผ๋กœ ํ•จ์ˆ˜ ๋‚ด๋ถ€์— ์ „๋‹ฌ๋œ๋‹ค. ๋‹จ, this๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’, ์ฆ‰ this ๋ฐ”์ธ๋”ฉ์€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹์— ์˜ํ•ด ๋™์ ์œผ๋กœ ๊ฒฐ์ •๋œ๋‹ค. // ์ „์—ญ์—์„œ this → ์ „์—ญ ๊ฐ์ฒด window๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. console.log(this); //window // ์ผ๋ฐ˜ ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ this → ์ „์—ญ ๊ฐ์ฒด window๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. function test() { console.log(this); // window } // stric mode๊ฐ€ ์ ์šฉ๋œ ์ผ๋ฐ˜ ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ..

    [Deep Dive] 16์žฅ ํ”„๋กœํผํ‹ฐ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ

    16์žฅ ํ”„๋กœํผํ‹ฐ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ ๋‚ด๋ถ€ ์Šฌ๋กฏ๊ณผ ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ ์ด์ค‘ ๋Œ€๊ด„ํ˜ธ([[...]])๋กœ ๊ฐ์‹ผ ์ด๋ฆ„๋“ค์ด ๋‚ด๋ถ€ ์Šฌ๋กฏ๊ณผ ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ๋‹ค. ๋‚ด๋ถ€ ์Šฌ๋กฏ๊ณผ ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ๋Š” ECMAScript ์‚ฌ์–‘์— ์ •์˜๋œ ๋Œ€๋กœ ๊ตฌํ˜„๋˜์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์—์„œ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์™ธ๋ถ€๋กœ ๊ณต๊ฐœ๋œ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋Š” ์•„๋‹ˆ๋‹ค. const o = {}; // ๋‚ด๋ถ€ ์Šฌ๋กฏ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์˜ ๋‚ด๋ถ€ ๋กœ์ง์ด๋ฏ€๋กœ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. o.[[Prototype]] // Uncaught StyntaxError: Unexpected token '[' // ์ผ๋ถ€ ๋‚ด๋ถ€ ์Šฌ๋กฏ๊ณผ ๋‚ด๋ถ€ ๋ฉ”์„œ๋“œ์— ํ•œํ•˜์—ฌ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•˜๊ธฐ๋Š” ํ•œ๋‹ค. o.__proto__ // Object.prototype ์ž‘์„ฑ์ผ ๊ธฐ์ค€ Object.pro..

    [JavaScript] ์‰ผํ‘œ ์—ฐ์‚ฐ์ž (Comma Operator)

    ์‰ผํ‘œ ์—ฐ์‚ฐ์ž๋ž€ MDN์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค. ์‰ผํ‘œ ์—ฐ์‚ฐ์ž๋Š” ๊ฐ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ‰๊ฐ€ํ•˜๊ณ  ๋งˆ์ง€๋ง‰ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์‰ผํ‘œ ์—ฐ์‚ฐ์ž๋Š” ์ฃผ๋กœ ์—ฌ๋Ÿฌ ๋™์ž‘์„ ํ•˜๋‚˜์˜ ์ค„์—์„œ ์ฒ˜๋ฆฌํ•˜๋ ค๋Š” ๋ณต์žกํ•œ ๊ตฌ์กฐ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„์—์„œ ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ธฐ๋•Œ๋ฌธ์— ๋จผ์ € ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. let x, y, z; x = 1, y = 2, z = 3; // 3 console.log(x); // 1 let a, b, c; a = (b = 5, c = 6); // 6 console.log(a); // 6 ์‰ผํ‘œ ์—ฐ์‚ฐ์ž์˜ ํ™œ์šฉ for ๋ฌธ const array = [ ['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ]; for (let..

    [Deep Dive] 14-15์žฅ

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

    [Deep Dive] 12-13์žฅ

    12์žฅ ํ•จ์ˆ˜ ํ•จ์ˆ˜๋ž€? ํ•จ์ˆ˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ ๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์ฝ”๋“œ ๋ธ”๋ก์œผ๋กœ ๊ฐ์‹ธ์„œ ํ•˜๋‚˜์˜ ์‹คํ–‰ ๋‹จ์œ„๋กœ ์ •์˜ํ•œ ๊ฒƒ์ด๋‹ค. ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ์ถœ๋ ฅ์„ ๋‚ด๋ณด๋‚ด๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์ด๋ผ๊ณ ๋„ ํ•  ์ˆ˜์žˆ๋‹ค. ์ด๋•Œ ํ•จ์ˆ˜ ๋‚ด๋ถ€๋กœ ์ž…๋ ฅ์„ ์ „๋‹ฌ๋ฐ›๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งค๊ฐœ ๋ณ€์ˆ˜(parameter), ์ž…๋ ฅ์„ ์ธ์ˆ˜(argument), ์ถœ๋ ฅ์„ ๋ฐ˜ํ™˜๊ฐ’(return value)์ด๋ผ ํ•œ๋‹ค. ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ : ํ•จ์ˆ˜๋Š” ํ•„์š”ํ•  ๋•Œ ์—ฌ๋Ÿฌ ๋ฒˆ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค .์ฆ‰ ์‹คํ–‰ ์‹œ์ ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๊ณ  ๋ช‡ ๋ฒˆ์ด๋“  ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฝ”๋“œ์˜ ์‹ ๋ขฐ์„ฑ : ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ ์–ต์ œํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋Š” ํ•จ์ˆ˜๋Š” ์œ ์ง€๋ณด์ˆ˜์˜ ํŽธ์˜์„ฑ์„ ๋†’์ด๊ณ  ์ฝ”๋“œ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค. ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ : ์ ์ ˆํ•œ ํ•จ์ˆ˜ ์ด๋ฆ„์€ ํ•จ์ˆ˜์˜ ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜์ง€ ์•Š๊ณ ๋„ ํ•จ์ˆ˜์˜ ์—ญํ• ์„ ํŒŒ์•…..