์๋ฐ์คํฌ๋ฆฝํธ ํจํด ๋งค์นญ ๊ฐ๋๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด๋ถ ๊ตฌ์กฐ ๋ถํด๋ฅผ ํ๋ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์. ํํ๋ ฅ ์๊ณ ๊ฐ๋ ์ฑ ์ข์ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ค์ฉ์ ์ธ ์์ ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ํจํด ๋งค์นญ ๊ฐ๋: ์กฐ๊ฑด๋ถ ๊ตฌ์กฐ ๋ถํด ํ์ฉํ๊ธฐ
์๋ฐ์คํฌ๋ฆฝํธ์ ๊ตฌ์กฐ ๋ถํด ํ ๋น(destructuring assignment)์ ๊ฐ์ฒด์ ๋ฐฐ์ด์์ ๊ฐ์ ์ถ์ถํ๋ ๊ฐ๊ฒฐํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ํ์ง๋ง ๋๋ก๋ ๊ตฌ์กฐ ๋ถํด๊ฐ *์ธ์ * ์ผ์ด๋ ์ง์ ๋ํด ๋ ๋ง์ ์ ์ด๊ฐ ํ์ํฉ๋๋ค. ๋ฐ๋ก ์ด๋ด ๋ ํจํด ๋งค์นญ ๊ฐ๋(pattern matching guards)๊ฐ ์ฌ์ฉ๋๋ฉฐ, ๊ตฌ์กฐ ๋ถํด ํจํด์ ์ง์ ์กฐ๊ฑด๋ถ ๋ก์ง์ ์ถ๊ฐํ ์ ์๊ฒ ํด์ค๋๋ค. ์ด ๋ธ๋ก๊ทธ ํฌ์คํธ์์๋ ์ด ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ํ์ํ๊ณ , ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ์ด๋ป๊ฒ ํฅ์์ํฌ ์ ์๋์ง ์ค์ฉ์ ์ธ ์์ ์ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ ๊ฒ์ ๋๋ค.
ํจํด ๋งค์นญ ๊ฐ๋๋ ๋ฌด์์ธ๊ฐ?
ํจํด ๋งค์นญ ๊ฐ๋๋ ๊ตฌ์กฐ ๋ถํด ํ ๋น์ ์ถ๊ฐํ ์ ์๋ ์กฐ๊ฑด ํํ์์ ๋๋ค. ํน์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋ ๊ฒฝ์ฐ์๋ง ๊ตฌ์กฐ ๋ถํด๊ฐ ์ผ์ด๋๋๋ก ์ง์ ํ ์ ์์ต๋๋ค. ์ด๋ ์ฝ๋์ ์ ๋ฐ์ฑ๊ณผ ์ ์ด๋ ฅ์ ๋ํ์ฌ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์๋๋ฆฌ์ค๋ฅผ ๋ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ง๋ญ๋๋ค. ๊ฐ๋๋ ๊ตฌ์กฐ ๋ถํด ๊ณผ์ ์์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํํฐ๋งํ์ฌ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ณ ๋ค์ํ ๋ฐ์ดํฐ ํํ๋ฅผ ์ฐ์ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ํฉ๋๋ค.
ํจํด ๋งค์นญ ๊ฐ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์
- ํฅ์๋ ๊ฐ๋ ์ฑ: ๊ฐ๋๋ ์กฐ๊ฑด๋ถ ๋ก์ง์ ๊ตฌ์กฐ ๋ถํด ํ ๋น ๋ด์ ์ง์ ๋ฐฐ์นํ์ฌ ์ฝ๋๋ฅผ ๋ ํํ๋ ฅ ์๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ๊ตฌ์กฐ ๋ถํด ์์ ์ ๊ฐ์ธ๋ ์ฅํฉํ if/else ๋ฌธ์ ํผํ๊ฒ ํด์ค๋๋ค.
- ๊ฐํ๋ ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ: ๊ฐ๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์กฐ ๋ถํด๋๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ๊ณ , ๊ณ์ ์งํํ๊ธฐ ์ ์ ํน์ ๊ธฐ์ค์ ์ถฉ์กฑํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ์๊ธฐ์น ์์ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ณ ์ฝ๋์ ๊ฒฌ๊ณ ์ฑ์ ํฅ์์ํต๋๋ค.
- ๊ฐ๊ฒฐํ ์ฝ๋: ๊ฐ๋๋ ํนํ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ฌ๋ฌ ์กฐ๊ฑด์ ๋ค๋ฃฐ ๋ ์์ฑํด์ผ ํ๋ ์ฝ๋์ ์์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. ์กฐ๊ฑด๋ถ ๋ก์ง์ด ๊ตฌ์กฐ ๋ถํด์ ์ง์ ๋ด์ฅ๋ฉ๋๋ค.
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์: ํจํด ๋งค์นญ์ ๋ถ๋ณ์ฑ๊ณผ ์ ์ธ์ ์ฝ๋๋ฅผ ์ฅ๋ คํจ์ผ๋ก์จ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์์น๊ณผ ์ ๋ง์ต๋๋ค.
๊ตฌ๋ฌธ ๋ฐ ๊ตฌํ
ํจํด ๋งค์นญ ๊ฐ๋์ ๊ตฌ๋ฌธ์ ์ฌ์ฉ ์ค์ธ ํน์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๊ฒฝ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฐ๋ผ ์ฝ๊ฐ ๋ค๋ฆ
๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ sweet.js
(์ค๋๋ ์ต์
์ด๊ธด ํ์ง๋ง)์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ปค์คํ
ํธ๋์คํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค. ํ์ง๋ง, ํจํด ๋งค์นญ ๊ธฐ๋ฅ์ ๋ค์ดํฐ๋ธ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ ๊ฐ๊น๊ฒ ๋ง๋๋ ์๋ก์ด ์ ์๊ณผ ๊ธฐ๋ฅ๋ค์ด ์ง์์ ์ผ๋ก ๋์
๋๊ณ ์ฑํ๋๊ณ ์์ต๋๋ค.
๋ค์ดํฐ๋ธ ๊ตฌํ์ด ์๋๋ผ๋, ์กฐ๊ฑด๋ถ ๊ตฌ์กฐ ๋ถํด ๋ฐ ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ์ *๊ฐ๋ *์ ๋งค์ฐ ๊ฐ์น๊ฐ ์์ผ๋ฉฐ, ์ฐ๋ฆฌ๊ฐ ๋ ํ๊ตฌํ ํ์ค ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
์์ 1: ํ์ค ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ ์กฐ๊ฑด๋ถ ๊ตฌ์กฐ ๋ถํด
์ฌ์ฉ์ ํ๋กํ์ ๋ํ๋ด๋ ๊ฐ์ฒด๊ฐ ์๊ณ , verified
์์ฑ์ด true์ธ ๊ฒฝ์ฐ์๋ง email
์์ฑ์ ์ถ์ถํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด ๋ด
์๋ค.
const user = {
name: "Alice",
email: "alice@example.com",
verified: true
};
let email = null;
if (user.verified) {
({ email } = user);
}
console.log(email); // Output: alice@example.com
์ด๊ฒ์ด *์ ํํ* ํจํด ๋งค์นญ ๊ฐ๋๋ ์๋์ง๋ง, ํ์ค ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ์กฐ๊ฑด๋ถ ๊ตฌ์กฐ ๋ถํด์ ํต์ฌ ์์ด๋์ด๋ฅผ ๋ณด์ฌ์ค๋๋ค. verified
ํ๋๊ทธ๊ฐ true์ธ ๊ฒฝ์ฐ์๋ง email
์์ฑ์ ๊ตฌ์กฐ ๋ถํดํ๊ณ ์์ต๋๋ค.
์์ 2: ๋๋ฝ๋ ์์ฑ ์ฒ๋ฆฌํ๊ธฐ
๊ตญ๊ฐ์ ๋ฐ๋ผ ์ผ๋ถ ํ๋๊ฐ ๋๋ฝ๋ ์ ์๋ ๊ตญ์ ์ฃผ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ์๋ฅผ ๋ค์ด, ๋ฏธ๊ตญ ์ฃผ์๋ ์ผ๋ฐ์ ์ผ๋ก ์ฐํธ๋ฒํธ(zip code)๋ฅผ ๊ฐ์ง๋ง, ๋ค๋ฅธ ์ผ๋ถ ๊ตญ๊ฐ์ ์ฃผ์์๋ ์์ ์ ์์ต๋๋ค.
const usAddress = {
street: "123 Main St",
city: "Anytown",
state: "CA",
zip: "91234",
country: "USA"
};
const ukAddress = {
street: "456 High St",
city: "London",
postcode: "SW1A 0AA",
country: "UK"
};
function processAddress(address) {
const { street, city, zip, postcode } = address;
if (zip) {
console.log(`US Address: ${street}, ${city}, ${zip}`);
} else if (postcode) {
console.log(`UK Address: ${street}, ${city}, ${postcode}`);
} else {
console.log(`Address: ${street}, ${city}`);
}
}
processAddress(usAddress); // Output: US Address: 123 Main St, Anytown, 91234
processAddress(ukAddress); // Output: UK Address: 456 High St, London, SW1A 0AA
์ฌ๊ธฐ์๋ zip
๋๋ postcode
์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ์ฌ์ฉํ์ฌ ์ฃผ์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํฉ๋๋ค. ์ด๋ ์กฐ์น๋ฅผ ์ทจํ๊ธฐ ์ ์ ํน์ ์กฐ๊ฑด์ ํ์ธํ๋ ๊ฐ๋์ ์์ด๋์ด๋ฅผ ๋ฐ์ํฉ๋๋ค.
์์ 3: ์กฐ๊ฑด์ ์ด์ฉํ ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ
๊ธ์ต ๊ฑฐ๋๋ฅผ ์ฒ๋ฆฌํ๊ณ ์๊ณ , ์งํํ๊ธฐ ์ ์ amount
๊ฐ ์์์ธ์ง ํ์ธํ๊ณ ์ถ๋ค๊ณ ์์ํด ๋ณด์ธ์.
const transaction1 = { id: 1, amount: 100, currency: "USD" };
const transaction2 = { id: 2, amount: -50, currency: "USD" };
function processTransaction(transaction) {
const { id, amount, currency } = transaction;
if (amount > 0) {
console.log(`Processing transaction ${id} for ${amount} ${currency}`);
} else {
console.log(`Invalid transaction ${id}: Amount must be positive`);
}
}
processTransaction(transaction1); // Output: Processing transaction 1 for 100 USD
processTransaction(transaction2); // Output: Invalid transaction 2: Amount must be positive
if (amount > 0)
๋ ๊ฐ๋ ์ญํ ์ ํ์ฌ ์ ํจํ์ง ์์ ๊ฑฐ๋์ ์ฒ๋ฆฌ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
๊ธฐ์กด ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฅ์ผ๋ก ํจํด ๋งค์นญ ๊ฐ๋ ์๋ฎฌ๋ ์ด์ ํ๊ธฐ
๋ค์ดํฐ๋ธ ํจํด ๋งค์นญ ๊ฐ๋๊ฐ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ๊ฒฝ์์ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ์ง ์์ ์ ์์ง๋ง, ๊ตฌ์กฐ ๋ถํด, ์กฐ๊ฑด๋ฌธ, ํจ์๋ฅผ ์กฐํฉํ์ฌ ๊ทธ ๋์์ ํจ๊ณผ์ ์ผ๋ก ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค.
ํจ์๋ฅผ "๊ฐ๋"๋ก ์ฌ์ฉํ๊ธฐ
๊ฐ๋ ์ญํ ์ ํ๋ ํจ์๋ฅผ ๋ง๋ค์ด ์กฐ๊ฑด๋ถ ๋ก์ง์ ์บก์ํํ๊ณ ๊ตฌ์กฐ ๋ถํด๋ฅผ ์งํํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ ๋ฐํํ ์ ์์ต๋๋ค.
function isVerified(user) {
return user && user.verified === true;
}
const user1 = { name: "Bob", email: "bob@example.com", verified: true };
const user2 = { name: "Charlie", email: "charlie@example.com", verified: false };
let email1 = null;
if (isVerified(user1)) {
({ email1 } = user1);
}
let email2 = null;
if (isVerified(user2)) {
({ email2 } = user2);
}
console.log(email1); // Output: bob@example.com
console.log(email2); // Output: null
ํจ์ ๋ด์์ ์กฐ๊ฑด๋ถ ๊ตฌ์กฐ ๋ถํดํ๊ธฐ
๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ๊ตฌ์กฐ ๋ถํด์ ์กฐ๊ฑด๋ถ ๋ก์ง์ ํจ์ ๋ด์ ์บก์ํํ์ฌ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ ๋ฐํํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค.
function getEmailIfVerified(user) {
if (user && user.verified === true) {
const { email } = user;
return email;
}
return null;
}
const user1 = { name: "Bob", email: "bob@example.com", verified: true };
const user2 = { name: "Charlie", email: "charlie@example.com", verified: false };
const email1 = getEmailIfVerified(user1);
const email2 = getEmailIfVerified(user2);
console.log(email1); // Output: bob@example.com
console.log(email2); // Output: null
๊ณ ๊ธ ์ฌ์ฉ ์ฌ๋ก
์กฐ๊ฑด์ ํฌํจํ ์ค์ฒฉ ๊ตฌ์กฐ ๋ถํด
์ค์ฒฉ ๊ตฌ์กฐ ๋ถํด์๋ ๋์ผํ ์์น์ ์ ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ค์ฒฉ๋ ์ฃผ์ ์ ๋ณด๊ฐ ์๋ ๊ฐ์ฒด๊ฐ ์๋ ๊ฒฝ์ฐ ํน์ ํ๋์ ์กด์ฌ ์ฌ๋ถ์ ๋ฐ๋ผ ์กฐ๊ฑด๋ถ๋ก ์์ฑ์ ์ถ์ถํ ์ ์์ต๋๋ค.
const data1 = {
user: {
name: "David",
address: {
city: "Sydney",
country: "Australia"
}
}
};
const data2 = {
user: {
name: "Eve"
}
};
function processUserData(data) {
if (data?.user?.address) { // Using optional chaining
const { user: { name, address: { city, country } } } = data;
console.log(`${name} lives in ${city}, ${country}`);
} else {
const { user: { name } } = data;
console.log(`${name}'s address is not available`);
}
}
processUserData(data1); // Output: David lives in Sydney, Australia
processUserData(data2); // Output: Eve's address is not available
์ต์
๋ ์ฒด์ด๋(?.
)์ ์ฌ์ฉํ๋ฉด ์ค์ฒฉ๋ ์์ฑ์ ์์ ํ๊ฒ ์ ๊ทผํ ์ ์์ด ์์ฑ์ด ๋๋ฝ๋ ๊ฒฝ์ฐ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
์กฐ๊ฑด๋ถ ๋ก์ง๊ณผ ํจ๊ป ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉํ๊ธฐ
๊ธฐ๋ณธ๊ฐ๊ณผ ์กฐ๊ฑด๋ถ ๋ก์ง์ ๊ฒฐํฉํ์ฌ ๊ตฌ์กฐ ๋ถํด๊ฐ ์คํจํ๊ฑฐ๋ ํน์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ง ์์ ๋ ๋์ฒด ๊ฐ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
const config1 = { timeout: 5000 };
const config2 = {};
function processConfig(config) {
const timeout = config.timeout > 0 ? config.timeout : 10000; // Default timeout
console.log(`Timeout: ${timeout}`);
}
processConfig(config1); // Output: Timeout: 5000
processConfig(config2); // Output: Timeout: 10000
ํจํด ๋งค์นญ ๋ผ์ด๋ธ๋ฌ๋ฆฌ/ํธ๋์คํ์ผ๋ฌ ์ฌ์ฉ์ ์ด์ (์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ)
ํ์ค ์๋ฐ์คํฌ๋ฆฝํธ๋ก ํจํด ๋งค์นญ ๊ฐ๋๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด์์ง๋ง, ๋ค์ดํฐ๋ธ ํจํด ๋งค์นญ์ ์ง์ํ๋ ์ ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํธ๋์คํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค:
- ๋ ๊ฐ๊ฒฐํ ๊ตฌ๋ฌธ: ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ข ์ข ํจํด๊ณผ ๊ฐ๋๋ฅผ ์ ์ํ๊ธฐ ์ํ ๋ ์ฐ์ํ๊ณ ๊ฐ๋ ์ฑ ์ข์ ๊ตฌ๋ฌธ์ ์ ๊ณตํฉ๋๋ค.
- ํฅ์๋ ์ฑ๋ฅ: ์ต์ ํ๋ ํจํด ๋งค์นญ ์์ง์ ์๋ ๊ตฌํ์ ๋นํด ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ํฅ์๋ ํํ๋ ฅ: ํจํด ๋งค์นญ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์ปค์คํ ๊ฐ๋ ํจ์ ์ง์๊ณผ ๊ฐ์ ๋ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ๊ณ ๋ ค์ฌํญ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก
๊ตญ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋๋ ๋ฌธํ์ ์ฐจ์ด์ ๋ฐ์ดํฐ ํ์์ ๋ณํ๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ๋ชจ๋ฒ ์ฌ๋ก์ ๋๋ค:
- ๋ ์ง ํ์: ์ ์ธ๊ณ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ค์ํ ๋ ์ง ํ์(์: MM/DD/YYYY ๋ DD/MM/YYYY)์ ์ ์ํ์ธ์. ๋ ์ง ํ์ฑ ๋ฐ ํฌ๋งทํ
์ ์ฒ๋ฆฌํ๋ ค๋ฉด
Moment.js
๋๋date-fns
์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ธ์. - ํตํ ๊ธฐํธ: ๋ค๋ฅธ ํตํ ๊ธฐํธ ๋ฐ ํ์์ ์ฒ๋ฆฌํ๋ ค๋ฉด ํตํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ธ์.
- ์ฃผ์ ํ์: ์ฃผ์ ํ์์ ๊ตญ๊ฐ๋ง๋ค ํฌ๊ฒ ๋ค๋ฆ ๋๋ค. ๋ค์ํ ์ฃผ์ ํ์์ ์ฐ์ํ๊ฒ ์ฒ๋ฆฌํ๋ ค๋ฉด ์ ์ฉ ์ฃผ์ ํ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ๊ณ ๋ คํ์ธ์.
- ์ธ์ด ํ์งํ: ๋ฒ์ญ์ ์ ๊ณตํ๊ณ ์ฝ๋๋ฅผ ๋ค๋ฅธ ์ธ์ด ๋ฐ ๋ฌธํ์ ๋ง๊ฒ ์กฐ์ ํ๋ ค๋ฉด ํ์งํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ธ์.
- ์๊ฐ๋: ํผ๋์ ํผํ๊ณ ์ ํํ ๋ฐ์ดํฐ ํํ์ ๋ณด์ฅํ๊ธฐ ์ํด ์๊ฐ๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ์ธ์. ์๊ฐ๋ ๋ณํ์ ๊ด๋ฆฌํ๋ ค๋ฉด ์๊ฐ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ธ์.
๊ฒฐ๋ก
์๋ฐ์คํฌ๋ฆฝํธ ํจํด ๋งค์นญ ๊ฐ๋, ์ฆ ์กฐ๊ฑด๋ถ ๊ตฌ์กฐ ๋ถํด๋ผ๋ *์์ด๋์ด*๋ ๋ ํํ๋ ฅ ์๊ณ , ๊ฐ๋ ์ฑ ์ข์ผ๋ฉฐ, ์ ์ง๋ณด์ํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๋ค์ดํฐ๋ธ ๊ตฌํ์ด ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ์ง ์์ ์๋ ์์ง๋ง, ๊ตฌ์กฐ ๋ถํด, ์กฐ๊ฑด๋ฌธ, ํจ์๋ฅผ ์กฐํฉํ์ฌ ๊ทธ ๋์์ ํจ๊ณผ์ ์ผ๋ก ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ์ ์ ์ฝ๋์ ํตํฉํจ์ผ๋ก์จ ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๊ฐ์ ํ๊ณ , ์ฝ๋ ๋ณต์ก์ฑ์ ์ค์ด๋ฉฐ, ํนํ ์ ์ธ๊ณ์ ๋ณต์กํ๊ณ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ๋ ๊ฒฌ๊ณ ํ๊ณ ์ ์๋ ฅ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ๊ตฌ์กฐ ๋ถํด ๋ด์์ ์กฐ๊ฑด๋ถ ๋ก์ง์ ํ์ ๋ฐ์๋ค์ฌ ์ฝ๋์ ๋ช ํ์ฑ๊ณผ ํจ์จ์ฑ์ ์๋ก์ด ์์ค์ผ๋ก ๋์ด์ฌ๋ฆฌ์ธ์.