โ ๋๋ฝ๋ ์๊ตฌ์ฌํญ์ ๊ฐ์ฅ ์์ ํ๊ธฐ ํ๋ ์ค๋ฅ๋ค. โ
- Robert L. Glass
์ ๋ช ํ ๋ฏธ๊ตญ ์ํํธ์จ์ด ์์ง๋์ด ๋ฐ ์๊ฐ

์ ๊ฐ ๊ตฌ๋ฌธ(Spread Syntax)
โ์ ๊ฐ ๊ตฌ๋ฌธ(Spread Syntax)๋ ECMAScript6(2015)์์ ์๋ก ์ถ๊ฐ๋ ๋ฌธ๋ฒ์ผ๋ก, ๊ฐ๋จํ๊ฒ ์ด ๋ฌธ๋ฒ์ ๋ฌธ๋ฒ ์ด๋ฆ ๊ทธ๋๋ก ๊ฐ์ฒด ํน์ ๋ฐฐ์ด๋ค์ ํผ์น ์ ์๊ฒ ํด ์ค๋ค.
// ํผ์น ๋์์ด ๊ฐ์ฒด์ธ ๊ฒฝ์ฐ
{...obj}
// ํผ์น ๋์์ด ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ
[...arr]
// ํน์
{...arr}
์ ๊ฐ ๊ตฌ๋ฌธ์ ๋ฌธ๋ฒ ์์ฒด๋ ์ ๋ง ๊ฐ๋จํ๋ค. ๊ทธ์ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด ์์ ์ ์ธ ๊ฐ๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด ๋๋ค.
๋จ, ์ ์ฝ๋์์ ํ์ธํ ์ ์๋ ๊ฒ์ฒ๋ผ ํผ์ณ์ง ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ๋ด์ ๋ฐ๊ตฌ๋๊ฐ ํ์ํ๋ค.
๊ฐ์ฒด๋ ๊ฐ์ฒด๋ก, ๋ฐฐ์ด์ ๊ฐ์ฒด๋ ๋ฐฐ์ด๋ก ๋ด์๋ผ ์ ์๋ค.
ES5 vs ES6 ๋ฐฐ์ด ๋ฌธ๋ฒ
[ ES5 ๋ฐฐ์ด ๋ด์ฉ ์กฐํฉ ]
ES5 ์์๋ ๋ฐฐ์ด์ ๋ด์ฉ์ ํฉ์ณ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค๊ธฐ ์ํด์ concat ๋ฉ์๋๋ฅผ ํ์ฉํ์๋ค.
arr1 ๋ฐฐ์ด์ concat ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ, ๋ฐฐ์ด arr2์ arr3๋ฅผ ๋ฐฐ์ด์ ์ด์ด๋ถ์๋ค.
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [7, 8, 9];
const arrWrap = arr1.concat(arr2, arr3);
console.log(arrWrap); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
[ ES6 ๋ฐฐ์ด ๋ด์ฉ ์กฐํฉ ]
์ ๊ฐ ์ฐ์ฐ์๋ฅผ ํ์ฉํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์๋ค.
concat ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ฝ๋๋ณด๋ค ๊ฐ๊ฒฐํ๊ณ , ๊ฐ๋ ์ฑ๋ ๊ฐ์ ๋์๋ค.
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [7, 8, 9];
const arrWrap = [...arr1, ...arr2, ...arr3];
console.log(arrWrap); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
concat ๋ฉ์๋๋ ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๊ฐ ์์ผ๋ก ๊ธฐ์กด ๋ฐฐ์ด ๋์์๋ถํฐ ๊ฐ์ ์ถ๊ฐํ์ง๋ง, ์ ๊ฐ ์ฐ์ฐ์๋ ์๋์ฒ๋ผ ๋ฐฐ์ด์ ์๋ฌด ๊ณณ์๋ ์ถ๊ฐ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
const arr = [4, 5, 6];
const arrWrap = [1, 2, 3, ...arr, 7, 8, 9]
console.log(arrWrap); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
ํผ์น ๋์์ด ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ
const myArray1 = ['Canna', 'Cuzz', 'Faker', 'Teddy', 'Effort'];
const myArray2 = [...myArray1]; // ...myArray1 : 'Canna', 'Cuzz', 'Faker', 'Teddy', 'Effort'
console.log(myArray1); // ["Canna", "Cuzz", "Faker", "Teddy", "Effort"]
console.log(myArray2); // ["Canna", "Cuzz", "Faker", "Teddy", "Effort"]
console.log(myArray1 === myArray2); // false
๋ฐฐ์ด๋ ๋์ผํ๊ฒ ์ ๊ฐ๊ตฌ๋ฌธ์ ํ์ฉํด์ ๋ฐฐ์ด์ ํผ์ณ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค ์ ์๊ณ , ๋ ๋ฐฐ์ด์ ๋น๊ตํ๋ฉด false๊ฐ ์ถ๋ ฅ๋๋ฉด์ ์๋ก ๋ค๋ฅธ ๋ ๋ฆฝ์ ์ธ ๋ฐฐ์ด์ด ๋๋ ๋ชจ์ต๋ ํ์ธํ ์๊ฐ ์๋ค.
const myArray = ['Canna', 'Cuzz', 'Faker', 'Teddy', 'Effort'];
const myObject = {...myArray};
console.log(myArray); // ["Canna", "Cuzz", "Faker", "Teddy", "Effort"]
console.log(myObject); // {0: "Canna", 1: "Cuzz", 2: "Faker", 3: "Teddy", 4: "Effort"}
๋ง์ฝ ํผ์น ๋ฐฐ์ด์ ์ค๊ดํธ๋ก ๊ฐ์ธ์ ๊ฐ์ฒด๋ก ๋ง๋ ๋ค๋ฉด, ๊ฐ ์์๋ ํ๋กํผํฐ ๊ฐ์ด ๋๊ณ , ๋ฐฐ์ด์ index๊ฐ ํ๋กํผํฐ ๋ค์์ด ๋๋ค.
๐จ ์ ๊ฐ ์ฐ์ฐ์๋ก ํ ๋นํ๋ฉด 2์ฐจ์ ํํ๊ฐ ๋์ง ์๋๋ค.
concat ๋ฉ์๋๋ก ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์ด๋ด๋ ๊ฒ์ด ์๋, ๊ธฐ์กด ๋ฐฐ์ด ์์์ ๊ฐ์ ์ถ๊ฐํ๋ค๋ฉด push ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
const arr1 = [1, 2, 3];
const arr2 = [4, 5];
arr1.push(arr2);
console.log(arr1); // [1, 2, 3, [4, 5]]
arr1 ๋ฐฐ์ด์ arr2 ๋ฐฐ์ด์ ํ ๋นํ์ง๋ง arr2 ๋ฐฐ์ด ์ ์ฒด๊ฐ ๋ค์ด๊ฐ 2์ฐจ์ ๋ฐฐ์ด์ด ๋์๋ค.
์ด ๊ฒฝ์ฐ ๊ธฐ์กด ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๋ฐฐ์ด ๊ฐ์ฒด์ ํ๋กํ ํ์ ๋งค์๋์ธ push.apply๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
const arr1 = [1, 2, 3];
const arr2 = [4, 5];
Array.prototype.push.apply(arr1, arr2);
console.log(arr1); // [1, 2, 3, 4, 5]
์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์์ง๋ง ์ฝ๋๊ฐ ๋ณต์กํ๋ค.
ํ์ง๋ง ์ ๊ฐ ์ฐ์ฐ์๋ฅผ ํ์ฉํ๋ฉด ์ฝ๊ฒ ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค.
const arr1 = [1, 2, 3];
const arr2 = [4, 5];
arr1.push(...arr2);
console.log(arr1); // [1, 2, 3, 4, 5]
๐จ ๋ฐ๋๋ก ์ ๊ฐ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๋ณต์ฌ์๋ 1์ฐจ์์์๋ง ์ ํจํ๋ค.
์์์ ์ ๊ฐ ์ฐ์ฐ์๋ก ํ ๋นํ๋ฉด 2์ฐจ์ ๋ฐฐ์ด์ด ๋์ง ์๋๋ค๊ณ ํ๋ค.
ํ์ง๋ง 2์ฐจ์ ์ด์์ ๋ฐฐ์ด์ ํ ๋นํ ๋ 1์ฐจ์ ์์๋ง ๊ฐ์ 1์ฐจ์ ๋ ๋ฒจ๋ก ํ ๋น์ด ๋๊ณ 2์ฐจ์ ์ด์์ ๋ฐฐ์ด์ ๊ทธ๋๋ก ๋ค์ด๊ฐ๋ค.
const arr1 = [4, 5, [6, 7]];
const arr2 = [1, 2, 3, ...arr1];
console.log(arr2); // [1, 2, 3, 4, 5, [6, 7]]
๐จ ๊ธฐ์กด ๋ฐฐ์ด์ ๋ณด์กดํด์ผ ํ ๋ ์ ์ฉํ๋ค.
[ES5 ๋ฐฐ์ด ์์๋ฅผ ์ญ์์ผ๋ก ๋ณ๊ฒฝ]
reverse ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ์ญ์์ผ๋ก ๋ฐ๊พธ๋ ๋ฉ์๋์ธ๋ฐ, ๊ธฐ์กด ๋ฐฐ์ด๋ ๋ฐ๊ฟ๋ฒ๋ฆฌ๋ ๋จ์ ์ด ์๋ค.
const arr1 = [1, 2, 3];
const arr2 = arr1.reverse();
console.log(arr1); // [3, 2, 1]
console.log(arr2); // [3, 2, 1]
์๋ณธ ๋ฐฐ์ด์ ์์ ํ ์๋๊ฐ ์์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋์ง ์์ง๋ง, ์๋ณธ ๋ฐฐ์ด์ ๊ทธ๋๋ก ๋๊ณ ๋ฐฐ์ด ์์์ ์์๋ฅผ ๋ค์ง์ ์๋ก์ด ๋ฐฐ์ด์ด ํ์ํ๋ค๋ฉด ์ํฉ์ด ๋ณต์กํด์ง๋ค.
์ด ์ํฉ์์ ์ ๊ฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํด์ง๋ค.
โ
[ES6 ๋ฐฐ์ด ์์๋ฅผ ์ญ์์ผ๋ก ๋ณ๊ฒฝ]
const arr1 = [1, 2, 3];
const arr2 = [...arr1].reverse(); // arr1์ ๋ณต์ฌํ๊ณ reverseํ๋๊ฑฐ๋ผ ์๋ณธ์ ์๋ฌด ๋ฌธ์ ์๋ค.
console.log(arr1); // [1, 2, 3]
console.log(arr2); // [3, 2, 1]
์ ๊ฐ ์ฐ์ฐ์๋ ์๋ณธ ๋ฐฐ์ด์ ๊ทธ๋๋ก ์ ์งํ๋ฉด์ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ ๋ค.
์๋ณธ ๋ฐฐ์ด์ ๊ทธ๋๋ก ์ ์งํ๋ฉด์ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์๋ค.
๐จ ๋ฐฐ์ด์ ๋๋จธ์ง ์์๋ฅผ ํ ๋นํ ์ ์๋ค.
๋น๊ตฌ์กฐํ ํ ๋น๊ณผ ์ ๊ฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋๋จธ์ง ์์๋ฅผ ํ ๋น ๋ฐ์ ์ ์๋ค.
const [first, second, ...rest] = [1, 2, 3, 4, 5];
console.log(first); // 1
console.log(second); // 2
console.log(rest); // [3, 4, 5]
๋ณ์ first๊ณผ second์ ๊ฐ๊ฐ์ ์ธ๋ฑ์ค ๊ฐ์ ๋ง๋ ๊ฐ์ด ์ฐจ๋ก๋ก ๋ค์ด๊ฐ๊ณ (1, 2), rest์๋ ํ ๋น ๋ฐ์ง ๋ชปํ ๋๋จธ์ง ๊ฐ๋ค์ด ๋์ ๋๋ค.
ํผ์น ๋์์ด ๊ฐ์ฒด์ธ ๊ฒฝ์ฐ
const myObject1 = {
laptop: 'MacBook Pro',
tablet: 'iPad Pro 11'
}
const myObject2 = {...myObject1};
console.log(myObject1); // {laptop: "MacBook Pro", tablet: "iPad Pro 11"}
console.log(myObject2); // {laptop: "MacBook Pro", tablet: "iPad Pro 11"}
console.log(myObject1 === myObject2); // false
// ์๋ก ๋ค๋ฅธ ์ฃผ์ ๊ฐ์ ๊ฐ์ง ๋
๋ฆฝ์ ์ธ ๊ฐ์ฒด์์ ํ์ธํ ์ ์๋ค.
์ ์ฝ๋ ์ค 6๋ฒ์งธ ์ค, myObject2์ ํ ๋นํ๋ ๊ฐ์ ๋ณด๋ฉด ์ ๊ฐ ๊ตฌ๋ฌธ์ ํ์ฉํ๊ณ ์๋ค.
์์ ์ 3๊ฐ๋ฅผ ๋ถ์ฌ์ myObject1์ ํผ์น ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด ๋น์ฐํ myObject2๋ myObject1๊ณผ ๋๊ฐ์ ๋ชจ์์ ํ๋กํผํฐ๋ฅผ ๊ฐ๊ฒ ๋์ง๋ง, ๋ง์ง๋ง ์ค์์ ๋ณด๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ ๊ฐ์ฒด๋ฅผ ๋น๊ตํ ๊ฒฝ์ฐ false๊ฐ ์ถ๋ ฅ๋๋ฉด์ ์๋ก ๋ค๋ฅธ ์ฃผ์ ๊ฐ์ ๊ฐ์ง ๋ ๋ฆฝ์ ์ธ ๊ฐ์ฒด์์ ํ์ธํ ์ ์๋ค.
๋ํ ์ ๊ฐ ๊ตฌ๋ฌธ์ ํ์ฉํ๋ฉด ์ด๋ ๊ฒ ๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋กํผํฐ๋ฅผ ๋ณต์ฌํด์ค๋ฉด์ ์ถ๊ฐ๋ก ํ๋กํผํฐ๋ฅผ ์์ฑํ ์๋ ์๋ค.
const myObject1 = {
laptop: 'MacBook Pro',
tablet: 'iPad Pro 11'
}
const myObject2 = {
...myObject1,
phone: 'Galaxy Note 10'
};
console.log(myObject1); // {laptop: "MacBook Pro", tablet: "iPad Pro 11"}
console.log(myObject2); // {laptop: "MacBook Pro", tablet: "iPad Pro 11", phone: "Galaxy Note 10"}
๐จ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ ๊ฒฝ์ฐ
const obj1 = {
a: 'A',
b: 'B'
};
const obj2 = {
c: 'C',
d: 'D'
};
const objWrap = {obj1, obj2};
console.log(objWrap);
/*
{
obj1: {
a: 'A',
b: 'B'
},
obj2: {
c: 'C',
d: 'D'
}
}
*/
obj1 ๊ฐ์ฒด์ obj2 ๊ฐ์ฒด๋ฅผ ํ๋์ objWrap ๊ฐ์ฒด๋ก ๋ฌถ์ผ๋ฉด ๊ฐ์ฒด ๊ฐ๊ฐ์ ๊ฐ์ด ์๋, ๊ฐ์ฒด ์์ฒด๊ฐ ๋ค์ด๊ฐ 2์ฐจ์ ๊ฐ์ฒด๊ฐ ๋์๋ค.
const obj1 = {
a: 'A',
b: 'B'
};
const obj2 = {
c: 'C',
d: 'D'
};
const objWrap = {...obj1, ...obj2};
console.log(objWrap);
/*
{
a: 'A',
b: 'B',
c: 'C',
d: 'D'
}
*/
์ ๊ฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ฒด ์์ฒด๊ฐ ํ ๋น๋๋ ๊ฒ์ด ์๋, ๊ฐ๊ฐ์ ๊ฐ์ด ํ ๋น ๋๋ค.
ํผ์น ๋์์ด ๋งค๊ฐ๋ณ์์ธ ๊ฒฝ์ฐ
โ
์ ๊ฐ ์ฐ์ฐ์ ๋ก์ ์๊ท๋จผํธ ๊ฐ์ ๋๊ธฐ๋ ๊ฒฝ์ฐ
- ์์์ ํ๋ฏ์ด ๋ฐฐ์ด ์์ ์๋ ๊ฐ๋ค์ ์ธ์๋ค ๋ชฉ๋ก์ผ๋ก ํ์ด ๋๊ฒจ์ฃผ๋ ์ญํ ์ ํ๋ค.
- ๋ฆฌํด๊ฐ : ์ธ์๋ค ๋ชฉ๋ก
let arr = [3, 5, 1];
alert( Math.max(...arr) ); // 5 (์ ๊ฐ ์ฐ์ฐ์๊ฐ ๋ฐฐ์ด์ ์ธ์ ๋ฆฌ์คํธ ๋ฐ๊ฟ์ฃผ์์ต๋๋ค.)
โ
๋๋จธ์ง ์ฐ์ฐ์๋ก์ ๋งค๊ฐ๋ณ์๋ก ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๋ ๊ฒฝ์ฐ
- ๋งค๊ฐ๋ณ์์ ์ ๊ฐ ๊ตฌ๋ฌธ์ ํ์ฉํ๋ฉด, ํจ์๋ฅผ ํธ์ถํ ๋ ๋์ณ๋๋(?) ์ธ์๋ค์ ํ๋์ ๋ฐฐ์ด๋ก ๋ชจ์์ฃผ๋ ๋งค๊ฐ๋ณ์๋ก ํ์ฉํ ์ ์๋ค.
- ๋ฆฌํด๊ฐ : ๋ฐฐ์ด
function sumAll(...args) { // args๋ ๋ฐฐ์ด์
๋๋ค.
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
alert( sumAll(1) ); // 1
alert( sumAll(1, 2) ); // 3
alert( sumAll(1, 2, 3) ); // 6
function showName(firstName, lastName, ...titles) {
alert( firstName + ' ' + lastName ); // Julius Caesar
// ๋๋จธ์ง ์ธ์๋ค์ ๋ฐฐ์ด titles์ ํ ๋น๋ฉ๋๋ค.
// titles = ["Consul", "Imperator"]
alert( titles[0] ); // Consul
alert( titles[1] ); // Imperator
alert( titles.length ); // 2
}
showName("Julius", "Caesar", "Consul", "Imperator");
โ ๏ธ ๋จ, ๋๋จธ์ง ๋งค๊ฐ๋ณ์๋ ํญ์ ๋ง์ง๋ง์ ์์ด์ผ ํ๋ค.
function f(arg1, ...rest, arg2) { // ...rest ํ์ arg2๊ฐ ์์ผ๋ฉด ์ ๋ฉ๋๋ค.
// ์๋ฌ
}
์ ๊ฐ ์ฐ์ฐ์ ๋งค๊ฐ๋ณ์ ์ฌ์ฉ ํจํด
์ธ์ ๊ฐ์์ ์ ํ์ด ์๋ ํจ์๋ฅผ ๋ง๋ค ๋ ๋๋จธ์ง ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉ.
let fuc = function(...args) {
// ...
}
func(1,2,3);
func(1,2,3,4,5);
func(1,2,3,4,5,6,7,8,9,10);
๋ง์ ์์ ์ธ์๋ฅผ ๋ฐ๋ ํจ์์ ๋ฐฐ์ด์ ์ ๋ฌํ ๋ ์ ๊ฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉ.
const arg = [1,2,3,4,5,6,7,8,9,10];
const sum = function(...args) {
console.log(args);
}
// ๋์ด ๊ฐ๋ค.
// ๋ฐฐ์ด์ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ apply()์ ์ ๊ฐ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ๋ฐฐ์ด์ ์ธ์๋ก ์นํํ call()
sum.apply(null, arg); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sum.call(null, ...arg); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ํผ์น ๋์์ด ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ
๋๋๊ฒ๋ ๋ฌธ์์ด๋ spread ๋ฌธ๋ฒ์ผ๋ก ์ฐ๊ฐ ํ ์ ์๋ค.
์๋ํ๋ฉด ๋ฌธ์์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ํ๋์ ๊ฐ์ฒด๋ก ์ทจ๊ธ๋๊ธฐ ๋๋ฌธ์ด๋ค.
const strings = 'abcdefg';
const strings2 = {...strings}
console.log(strings2) // {0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f', 6: 'g'}
const strings3 = [...strings]
console.log(strings3) // (7) ['a', 'b', 'c', 'd', 'e', 'f', 'g']
์์ฝ :
"..."๋ ์ ๊ฐ ์ฐ์ฐ์๋ ๋๋จธ์ง ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉ๋๋ค.โ
์ ๊ฐ ์ฐ์ฐ์์ ๋๋จธ์ง ๋งค๊ฐ๋ณ์๋ ์๋์ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ๋ถํ ์ ์๋ค.
ํจ์ ํธ์ถ ์ ์ฌ์ฉ๋๋ฉด ๋ฐฐ์ด์ ๋ชฉ๋ก์ผ๋ก ํ์ฅํด์ฃผ๋ ์ ๊ฐ ์ฐ์ฐ์
ํจ์ ๋งค๊ฐ๋ณ์์ ๋์ ์์ผ๋ฉด ์ธ์ ๋ชฉ๋ก์ ๋๋จธ์ง๋ฅผ ๋ฐฐ์ด๋ก ๋ชจ์์ฃผ๋ ๋๋จธ์ง ๋งค๊ฐ๋ณ์
์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.