λ€μν λͺ¨λ μμ€ν κ³Ό νκ²½μμ μΈν°νμ΄μ€ μ°¨μ΄λ₯Ό ν΄μνκ³ νΈνμ±κ³Ό μ¬μ¬μ©μ±μ 보μ₯νλ μλ°μ€ν¬λ¦½νΈ λͺ¨λ μ΄λν° ν¨ν΄μ μμ보μΈμ.
μλ°μ€ν¬λ¦½νΈ λͺ¨λ μ΄λν° ν¨ν΄: μΈν°νμ΄μ€ νΈνμ± ν보νκΈ°
λμμμ΄ μ§ννλ μλ°μ€ν¬λ¦½νΈ κ°λ° νκ²½μμ λͺ¨λμ νμ₯ κ°λ₯νκ³ μ μ§λ³΄μ κ°λ₯ν μ ν리μΌμ΄μ μ ꡬμΆνλ μ΄μμ΄ λμμ΅λλ€. κ·Έλ¬λ λ€μν λͺ¨λ μμ€ν (CommonJS, AMD, ES λͺ¨λ, UMD)μ νμ°μ μλ‘ λ€λ₯Έ μΈν°νμ΄μ€λ₯Ό κ°μ§ λͺ¨λμ ν΅ν©νλ €κ³ ν λ μ΄λ €μμ μ΄λν μ μμ΅λλ€. λ°λ‘ μ΄ μ§μ μμ λͺ¨λ μ΄λν° ν¨ν΄μ΄ ν΄κ²°μ¬λ‘ λ±μ₯ν©λλ€. μ΄ ν¨ν΄μ νΈνλμ§ μλ μΈν°νμ΄μ€ κ°μ 격차λ₯Ό ν΄μνλ λ©μ»€λμ¦μ μ 곡νμ¬ μνν μνΈμ΄μ©μ±μ 보μ₯νκ³ μ½λ μ¬μ¬μ©μ±μ μ¦μ§μν΅λλ€.
λ¬Έμ μ΄ν΄νκΈ°: μΈν°νμ΄μ€ λΉνΈνμ±
ν΅μ¬ λ¬Έμ λ λ€μν λͺ¨λ μμ€ν μμ λͺ¨λμ μ μνκ³ λ΄λ³΄λ΄λ λ°©μμ΄ λ€λ₯΄λ€λ μ μμ λ°μν©λλ€. λ€μ μμλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€:
- CommonJS (Node.js): κ°μ Έμ€κΈ°μλ
require()
λ₯Ό, λ΄λ³΄λ΄κΈ°μλmodule.exports
λ₯Ό μ¬μ©ν©λλ€. - AMD (λΉλκΈ° λͺ¨λ μ μ, RequireJS): μμ‘΄μ± λ°°μ΄κ³Ό ν©ν 리 ν¨μλ₯Ό μΈμλ‘ λ°λ
define()
μ μ¬μ©νμ¬ λͺ¨λμ μ μν©λλ€. - ES λͺ¨λ (ECMAScript Modules):
import
μexport
ν€μλλ₯Ό μ¬μ©νλ©°, λͺ λͺ λ λ΄λ³΄λ΄κΈ°(named export)μ κΈ°λ³Έ λ΄λ³΄λ΄κΈ°(default export)λ₯Ό λͺ¨λ μ 곡ν©λλ€. - UMD (λ²μ© λͺ¨λ μ μ): μ¬λ¬ λͺ¨λ μμ€ν κ³Ό νΈνλλλ‘ μλνλ©°, μ’ μ’ μ‘°κ±΄λΆ κ²μ¬λ₯Ό ν΅ν΄ μ μ ν λͺ¨λ λ‘λ© λ©μ»€λμ¦μ κ²°μ ν©λλ€.
Node.js(CommonJS)μ©μΌλ‘ μμ±λ λͺ¨λμ΄ μλλ°, AMDλ ES λͺ¨λλ§ μ§μνλ λΈλΌμ°μ νκ²½μμ μ¬μ©νκ³ μΆλ€κ³ μμν΄ λ³΄μΈμ. μ΄λν° μμ΄λ μ΄λ¬ν λͺ¨λ μμ€ν μ΄ μμ‘΄μ±κ³Ό λ΄λ³΄λ΄κΈ°λ₯Ό μ²λ¦¬νλ λ°©μμ κ·Όλ³Έμ μΈ μ°¨μ΄ λλ¬Έμ ν΅ν©μ΄ λΆκ°λ₯ν κ²μ λλ€.
λͺ¨λ μ΄λν° ν¨ν΄: μνΈμ΄μ©μ±μ μν ν΄κ²°μ±
λͺ¨λ μ΄λν° ν¨ν΄μ νΈνλμ§ μλ μΈν°νμ΄μ€λ₯Ό κ°μ§ ν΄λμ€λ€μ ν¨κ» μ¬μ©ν μ μκ² ν΄μ£Όλ ꡬ쑰μ λμμΈ ν¨ν΄μ λλ€. μ΄λ μ€κ°μ μν μ νμ¬ ν λͺ¨λμ μΈν°νμ΄μ€λ₯Ό λ€λ₯Έ λͺ¨λμ μΈν°νμ΄μ€λ‘ λ³νν¨μΌλ‘μ¨ μ‘°νλ‘κ² μλν μ μλλ‘ ν©λλ€. μλ°μ€ν¬λ¦½νΈ λͺ¨λμ λ§₯λ½μμ μ΄λ λͺ¨λμ κ°μΈλ λνΌ(wrapper)λ₯Ό λ§λ€μ΄, λμ νκ²½μ΄λ λͺ¨λ μμ€ν μ κΈ°λμΉμ λ§κ² λ΄λ³΄λ΄κΈ° ꡬ쑰λ₯Ό μ‘°μ νλ κ²μ ν¬ν¨ν©λλ€.
λͺ¨λ μ΄λν°μ μ£Όμ κ΅¬μ± μμ
- μ΄λν° (Adaptee): μ μμ΄ νμν, νΈνλμ§ μλ μΈν°νμ΄μ€λ₯Ό κ°μ§ λͺ¨λ.
- νκ² μΈν°νμ΄μ€ (Target Interface): ν΄λΌμ΄μΈνΈ μ½λλ λμ λͺ¨λ μμ€ν μ΄ κΈ°λνλ μΈν°νμ΄μ€.
- μ΄λν° (Adapter): μ΄λν°μ μΈν°νμ΄μ€λ₯Ό νκ² μΈν°νμ΄μ€μ λ§κ² λ³ννλ κ΅¬μ± μμ.
λͺ¨λ μ΄λν° ν¨ν΄μ μ’ λ₯
λ€μν μλ리μ€μ λμνκΈ° μν΄ λͺ¨λ μ΄λν° ν¨ν΄μ μ¬λ¬ λ³νμ μ μ©ν μ μμ΅λλ€. κ°μ₯ μΌλ°μ μΈ λͺ κ°μ§λ λ€μκ³Ό κ°μ΅λλ€:
1. λ΄λ³΄λ΄κΈ° μ΄λν° (Export Adapter)
μ΄ ν¨ν΄μ λͺ¨λμ λ΄λ³΄λ΄κΈ° ꡬ쑰λ₯Ό μ‘°μ νλ λ° μ€μ μ λ‘λλ€. λͺ¨λμ κΈ°λ₯μ μ μμ΄μ§λ§ λ΄λ³΄λ΄κΈ° νμμ΄ λμ νκ²½κ³Ό λ§μ§ μμ λ μ μ©ν©λλ€.
μμ: CommonJS λͺ¨λμ AMDμ©μΌλ‘ μ‘°μ νκΈ°
math.js
λΌλ CommonJS λͺ¨λμ΄ μλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€:
// math.js (CommonJS)
const add = (a, b) => a + b;
const subtract = (a, b) => a - b;
module.exports = {
add,
subtract,
};
κ·Έλ¦¬κ³ μ΄ λͺ¨λμ AMD νκ²½(μ: RequireJS μ¬μ©)μμ μ¬μ©νκ³ μΆλ€κ³ κ°μ ν΄ λ΄ μλ€. λ€μκ³Ό κ°μ΄ μ΄λν°λ₯Ό λ§λ€ μ μμ΅λλ€:
// mathAdapter.js (AMD)
define(['module'], function (module) {
const math = require('./math.js'); // math.jsμ μ κ·Ό κ°λ₯νλ€κ³ κ°μ
return {
add: math.add,
subtract: math.subtract,
};
});
μ΄ μμμμ mathAdapter.js
λ CommonJS math.js
μ μμ‘΄νλ AMD λͺ¨λμ μ μν©λλ€. κ·Έλ° λ€μ AMDμ νΈνλλ λ°©μμΌλ‘ ν¨μλ€μ λ€μ λ΄λ³΄λ
λλ€.
2. κ°μ Έμ€κΈ° μ΄λν° (Import Adapter)
μ΄ ν¨ν΄μ λͺ¨λμ΄ μμ‘΄μ±μ μλΉνλ λ°©μμ μ‘°μ νλ λ° μ€μ μ λ‘λλ€. λͺ¨λμ΄ νΉμ νμμΌλ‘ μμ‘΄μ±μ΄ μ 곡λ κ²μΌλ‘ κΈ°λνμ§λ§, μ¬μ© κ°λ₯ν λͺ¨λ μμ€ν κ³Ό μΌμΉνμ§ μμ λ μ μ©ν©λλ€.
μμ: AMD λͺ¨λμ ES λͺ¨λμ©μΌλ‘ μ‘°μ νκΈ°
dataService.js
λΌλ AMD λͺ¨λμ΄ μλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€:
// dataService.js (AMD)
define(['jquery'], function ($) {
const fetchData = (url) => {
return $.ajax(url).then(response => response.data);
};
return {
fetchData,
};
});
κ·Έλ¦¬κ³ μ΄ λͺ¨λμ jQueryμ $.ajax
λμ fetch
λ₯Ό μ¬μ©νκ³ μΆμ ES λͺ¨λ νκ²½μμ μ¬μ©νκ³ μΆλ€κ³ κ°μ ν΄ λ΄
μλ€. λ€μκ³Ό κ°μ΄ μ΄λν°λ₯Ό λ§λ€ μ μμ΅λλ€:
// dataServiceAdapter.js (ES Modules)
import $ from 'jquery'; // λλ jQueryκ° ES λͺ¨λλ‘ μ 곡λμ§ μλ κ²½μ° shim μ¬μ©
const fetchData = async (url) => {
const response = await fetch(url);
const data = await response.json();
return data;
};
export {
fetchData,
};
μ΄ μμμμ dataServiceAdapter.js
λ fetch
API (λλ jQueryμ AJAXλ₯Ό λ체ν λ€λ₯Έ μ μ ν λ°©λ²)λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό κ°μ Έμ΅λλ€. κ·Έλ° λ€μ fetchData
ν¨μλ₯Ό ES λͺ¨λ λ΄λ³΄λ΄κΈ°λ‘ 곡κ°ν©λλ€.
3. κ²°ν© μ΄λν° (Combined Adapter)
κ²½μ°μ λ°λΌ λͺ¨λμ κ°μ Έμ€κΈ° λ° λ΄λ³΄λ΄κΈ° ꡬ쑰λ₯Ό λͺ¨λ μ‘°μ ν΄μΌ ν μλ μμ΅λλ€. μ΄λ΄ λ κ²°ν© μ΄λν°κ° μ¬μ©λ©λλ€. μ΄λ μμ‘΄μ± μλΉμ λͺ¨λ κΈ°λ₯μ μΈλΆ 곡κ°λ₯Ό λͺ¨λ μ²λ¦¬ν©λλ€.
4. μ΄λν°λ‘μμ UMD (Universal Module Definition)
UMD μ체λ 볡μ‘ν μ΄λν° ν¨ν΄μΌλ‘ κ°μ£Όλ μ μμ΅λλ€. UMDλ μλΉνλ μ½λμμ νΉλ³ν μ‘°μ μμ΄ λ€μν νκ²½(CommonJS, AMD, λΈλΌμ°μ μ μ λ³μ)μμ μ¬μ©ν μ μλ λͺ¨λμ λ§λλ κ²μ λͺ©νλ‘ ν©λλ€. UMDλ μ¬μ© κ°λ₯ν λͺ¨λ μμ€ν μ κ°μ§νκ³ λͺ¨λμ μ μνκ³ λ΄λ³΄λ΄λ λ° μ μ ν λ©μ»€λμ¦μ μ¬μ©νμ¬ μ΄λ₯Ό λ¬μ±ν©λλ€.
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. μ΅λͺ
λͺ¨λλ‘ λ±λ‘.
define(['b'], function (b) {
return (root.returnExportsGlobal = factory(b));
});
} else if (typeof module === 'object' && module.exports) {
// Node. μ격ν CommonJSμμλ μλνμ§ μμ§λ§,
// module.exportsλ₯Ό μ§μνλ CommonJSμ μ μ¬ν νκ²½μμλ μλν¨
// (μ: Browserify).
module.exports = factory(require('b'));
} else {
// λΈλΌμ°μ μ μ λ³μ (rootλ window)
root.returnExportsGlobal = factory(root.b);
}
}(typeof self !== 'undefined' ? self : this, function (b) {
// bλ₯Ό μ΄λ€ λ°©μμΌλ‘λ μ¬μ©.
// λͺ¨λ λ΄λ³΄λ΄κΈ°λ₯Ό μ μνκΈ° μν΄ κ°μ λ°ν.
// μ΄ μμλ κ°μ²΄λ₯Ό λ°ννμ§λ§, λͺ¨λμ
// μ΄λ€ κ°μ΄λ λ°νν μ μμ.
return {};
}));
λͺ¨λ μ΄λν° ν¨ν΄ μ¬μ©μ μ΄μ
- μ½λ μ¬μ¬μ©μ± ν₯μ: μ΄λν°λ₯Ό μ¬μ©νλ©΄ κΈ°μ‘΄ λͺ¨λμ μλ³Έ μ½λλ₯Ό μμ νμ§ μκ³ λ λ€λ₯Έ νκ²½μμ μ¬μ©ν μ μμ΅λλ€.
- μνΈμ΄μ©μ± κ°ν: μλ‘ λ€λ₯Έ λͺ¨λ μμ€ν μ©μΌλ‘ μμ±λ λͺ¨λ κ°μ μνν ν΅ν©μ μ΄μ§ν©λλ€.
- μ½λ μ€λ³΅ κ°μ: κΈ°μ‘΄ λͺ¨λμ μ‘°μ ν¨μΌλ‘μ¨ κ° νΉμ νκ²½μ λ§κ² κΈ°λ₯μ λ€μ μμ±ν νμκ° μμ΅λλ€.
- μ μ§λ³΄μμ± μ¦λ: μ΄λν°λ μ‘°μ λ‘μ§μ μΊ‘μννμ¬ μ½λλ² μ΄μ€λ₯Ό μ μ§νκ³ μ λ°μ΄νΈνκΈ° μ½κ² λ§λλλ€.
- μ μ°μ± μ¦λ: μμ‘΄μ±μ κ΄λ¦¬νκ³ λ³ννλ μꡬμ¬νμ μ μν μ μλ μ μ°ν λ°©λ²μ μ 곡ν©λλ€.
κ³ λ €μ¬ν λ° λͺ¨λ² μ¬λ‘
- μ±λ₯: μ΄λν°λ κ°μ μ μΈ κ³μΈ΅μ λμ νμ¬ μ μ¬μ μΌλ‘ μ±λ₯μ μν₯μ μ€ μ μμ΅λλ€. κ·Έλ¬λ μ±λ₯ μ€λ²ν€λλ μΌλ°μ μΌλ‘ μ 곡νλ μ΄μ μ λΉν΄ λ―Έλ―Έν©λλ€. μ±λ₯μ΄ μ°λ €λλ κ²½μ° μ΄λν° κ΅¬νμ μ΅μ ννμΈμ.
- 볡μ‘μ±: μ΄λν°λ₯Ό κ³Όλνκ² μ¬μ©νλ©΄ 볡μ‘ν μ½λλ² μ΄μ€κ° λ μ μμ΅λλ€. μ΄λν°λ₯Ό ꡬννκΈ° μ μ μ λ§λ‘ νμνμ§ μ μ€νκ² κ³ λ €νμΈμ.
- ν μ€ν : μ΄λν°κ° λͺ¨λ κ° μΈν°νμ΄μ€λ₯Ό μ¬λ°λ₯΄κ² λ³ννλμ§ νμΈνκΈ° μν΄ μ² μ ν ν μ€νΈνμΈμ.
- λ¬Έμν: λ€λ₯Έ κ°λ°μκ° μ½λλ₯Ό μ΄ν΄νκ³ μ μ§λ³΄μνκΈ° μ½λλ‘ κ° μ΄λν°μ λͺ©μ κ³Ό μ¬μ©λ²μ λͺ ννκ² λ¬ΈμννμΈμ.
- μ¬λ°λ₯Έ ν¨ν΄ μ ν: μλ리μ€μ νΉμ μꡬμ¬νμ λ°λΌ μ μ ν μ΄λν° ν¨ν΄μ μ ννμΈμ. λ΄λ³΄λ΄κΈ° μ΄λν°λ λͺ¨λμ΄ λ ΈμΆλλ λ°©μμ λ³κ²½νλ λ° μ ν©ν©λλ€. κ°μ Έμ€κΈ° μ΄λν°λ μμ‘΄μ± μμ© λ°©μμ μμ ν μ μμΌλ©°, κ²°ν© μ΄λν°λ λ κ°μ§ λͺ¨λλ₯Ό μ²λ¦¬ν©λλ€.
- μ½λ μμ± κ³ λ €: λ°λ³΅μ μΈ μ‘°μ μμ μ κ²½μ°, μ½λ μμ± λꡬλ₯Ό μ¬μ©νμ¬ μ΄λν° μμ±μ μλννλ κ²μ κ³ λ €ν΄ λ³΄μΈμ. μ΄λ μκ°μ μ μ½νκ³ μ€λ₯μ μνμ μ€μΌ μ μμ΅λλ€.
- μμ‘΄μ± μ£Όμ : κ°λ₯νλ©΄ μμ‘΄μ± μ£Όμ μ μ¬μ©νμ¬ λͺ¨λμ λ μ μμ± μκ² λ§λμΈμ. μ΄λ₯Ό ν΅ν΄ λͺ¨λ μ½λλ₯Ό μμ νμ§ μκ³ λ μμ‘΄μ±μ μ½κ² κ΅μ²΄ν μ μμ΅λλ€.
μ€μ μμ λ° μ¬μ© μ¬λ‘
λͺ¨λ μ΄λν° ν¨ν΄μ λ€μν μλ°μ€ν¬λ¦½νΈ νλ‘μ νΈμ λΌμ΄λΈλ¬λ¦¬μμ λ리 μ¬μ©λ©λλ€. λͺ κ°μ§ μλ λ€μκ³Ό κ°μ΅λλ€:
- λ κ±°μ μ½λ μ‘°μ : λ§μ μ€λλ μλ°μ€ν¬λ¦½νΈ λΌμ΄λΈλ¬λ¦¬λ νλμ μΈ λͺ¨λ μμ€ν μ΄ λ±μ₯νκΈ° μ μ μμ±λμμ΅λλ€. μ΄λν°λ₯Ό μ¬μ©νμ¬ μ΄λ¬ν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ΅μ νλ μμν¬ λ° λΉλ λꡬμ νΈνλλλ‘ λ§λ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, jQuery νλ¬κ·ΈμΈμ React μ»΄ν¬λνΈ λ΄μμ μλνλλ‘ μ‘°μ νλ κ²½μ°κ° μμ΅λλ€.
- λ€λ₯Έ νλ μμν¬μμ ν΅ν©: μλ‘ λ€λ₯Έ νλ μμν¬(μ: Reactμ Angular)λ₯Ό κ²°ν©νλ μ ν리μΌμ΄μ μ ꡬμΆν λ, μ΄λν°λ₯Ό μ¬μ©νμ¬ ν΄λΉ λͺ¨λ μμ€ν κ³Ό μ»΄ν¬λνΈ λͺ¨λΈ κ°μ 격차λ₯Ό ν΄μν μ μμ΅λλ€.
- ν΄λΌμ΄μΈνΈμ μλ² κ° μ½λ 곡μ : μ΄λν°λ₯Ό μ¬μ©νλ©΄ μ ν리μΌμ΄μ μ ν΄λΌμ΄μΈνΈ μΈ‘κ³Ό μλ² μΈ‘μ΄ λ€λ₯Έ λͺ¨λ μμ€ν (μ: λΈλΌμ°μ μ ES λͺ¨λκ³Ό μλ²μ CommonJS)μ μ¬μ©νλλΌλ μ½λλ₯Ό 곡μ ν μ μμ΅λλ€.
- ν¬λ‘μ€ νλ«νΌ λΌμ΄λΈλ¬λ¦¬ ꡬμΆ: μ¬λ¬ νλ«νΌ(μ: μΉ, λͺ¨λ°μΌ, λ°μ€ν¬ν±)μ λμμΌλ‘ νλ λΌμ΄λΈλ¬λ¦¬λ μ’ μ’ μ΄λν°λ₯Ό μ¬μ©νμ¬ μ¬μ© κ°λ₯ν λͺ¨λ μμ€ν λ° APIμ μ°¨μ΄λ₯Ό μ²λ¦¬ν©λλ€.
- λ§μ΄ν¬λ‘μλΉμ€ μμ : λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²μμ μ΄λν°λ μλ‘ λ€λ₯Έ API λλ λ°μ΄ν° νμμ λ ΈμΆνλ μλΉμ€λ₯Ό ν΅ν©νλ λ° μ¬μ©λ μ μμ΅λλ€. μλ₯Ό λ€μ΄, JSON:API νμμΌλ‘ λ°μ΄ν°λ₯Ό μ 곡νλ νμ΄μ¬ λ§μ΄ν¬λ‘μλΉμ€λ₯Ό λ κ°λ¨ν JSON ꡬ쑰λ₯Ό κΈ°λνλ μλ°μ€ν¬λ¦½νΈ νλ‘ νΈμλμ λ§κ² μ‘°μ νλ κ²μ μμν΄ λ³΄μΈμ.
λͺ¨λ μ μμ μν λꡬ λ° λΌμ΄λΈλ¬λ¦¬
λͺ¨λ μ΄λν°λ₯Ό μλμΌλ‘ ꡬνν μλ μμ§λ§, μ¬λ¬ λꡬμ λΌμ΄λΈλ¬λ¦¬κ° μ΄ κ³Όμ μ λ¨μνν μ μμ΅λλ€:
- Webpack: λ€μν λͺ¨λ μμ€ν μ μ§μνκ³ λͺ¨λ μ‘°μ μ μν κΈ°λ₯μ μ 곡νλ μΈκΈ° μλ λͺ¨λ λ²λ€λ¬μ λλ€. Webpackμ shimming λ° alias κΈ°λ₯μ μ μμ νμ©ν μ μμ΅λλ€.
- Browserify: λΈλΌμ°μ μμ CommonJS λͺ¨λμ μ¬μ©ν μ μκ² ν΄μ£Όλ λ λ€λ₯Έ λͺ¨λ λ²λ€λ¬μ λλ€.
- Rollup: λΌμ΄λΈλ¬λ¦¬ λ° μ ν리μΌμ΄μ μ μν μ΅μ νλ λ²λ€μ λ§λλ λ° μ€μ μ λ λͺ¨λ λ²λ€λ¬μ λλ€. Rollupμ ES λͺ¨λμ μ§μνλ©° λ€λ₯Έ λͺ¨λ μμ€ν μ μ‘°μ νκΈ° μν νλ¬κ·ΈμΈμ μ 곡ν©λλ€.
- SystemJS: μ¬λ¬ λͺ¨λ μμ€ν μ μ§μνκ³ νμμ λ°λΌ λͺ¨λμ λ‘λν μ μκ² ν΄μ£Όλ λμ λͺ¨λ λ‘λμ λλ€.
- jspm: SystemJSμ ν¨κ» μλνλ©° λ€μν μμ€μμ μμ‘΄μ±μ μ€μΉνκ³ κ΄λ¦¬νλ λ°©λ²μ μ 곡νλ ν¨ν€μ§ κ΄λ¦¬μμ λλ€.
κ²°λ‘
λͺ¨λ μ΄λν° ν¨ν΄μ κ²¬κ³ νκ³ μ μ§λ³΄μ κ°λ₯ν μλ°μ€ν¬λ¦½νΈ μ ν리μΌμ΄μ μ ꡬμΆνκΈ° μν νμ λꡬμ λλ€. μ΄ ν¨ν΄μ ν΅ν΄ νΈνλμ§ μλ λͺ¨λ μμ€ν κ°μ 격차λ₯Ό ν΄μνκ³ , μ½λ μ¬μ¬μ©μ±μ μ¦μ§νλ©°, λ€μν κ΅¬μ± μμμ ν΅ν©μ λ¨μνν μ μμ΅λλ€. λͺ¨λ μ μμ μ리μ κΈ°μ μ μ΄ν΄ν¨μΌλ‘μ¨ λ μ μ°νκ³ , μ μ κ°λ₯νλ©°, μνΈμ΄μ© κ°λ₯ν μλ°μ€ν¬λ¦½νΈ μ½λλ² μ΄μ€λ₯Ό λ§λ€ μ μμ΅λλ€. μλ°μ€ν¬λ¦½νΈ μνκ³κ° κ³μ μ§νν¨μ λ°λΌ λͺ¨λ μμ‘΄μ±μ ν¨κ³Όμ μΌλ‘ κ΄λ¦¬νκ³ λ³ννλ νκ²½μ μ μνλ λ₯λ ₯μ μ μ λ μ€μν΄μ§ κ²μ λλ€. λͺ¨λ μ΄λν° ν¨ν΄μ λ°μλ€μ¬ λ κΉ¨λνκ³ , μ μ§λ³΄μνκΈ° μ¬μ°λ©°, μ§μ μΌλ‘ 보νΈμ μΈ μλ°μ€ν¬λ¦½νΈλ₯Ό μμ±νμΈμ.
μ€μ©μ μΈ μ‘°μΈ
- μ μ¬μ μΈ νΈνμ± λ¬Έμ λ₯Ό μ‘°κΈ°μ νμ νμΈμ: μ νλ‘μ νΈλ₯Ό μμνκΈ° μ μ μμ‘΄μ±μμ μ¬μ©νλ λͺ¨λ μμ€ν μ λΆμνκ³ μ μ¬μ μΈ νΈνμ± λ¬Έμ λ₯Ό νμ νμΈμ.
- μ μμ±μ κ³ λ €νμ¬ μ€κ³νμΈμ: μμ λ§μ λͺ¨λμ μ€κ³ν λ, λ€λ₯Έ νκ²½μμ μ΄λ»κ² μ¬μ©λ μ μλμ§ κ³ λ €νκ³ μ½κ² μ‘°μ ν μ μλλ‘ μ€κ³νμΈμ.
- μ΄λν°λ₯Ό μ μ€νκ² μ¬μ©νμΈμ: μ΄λν°λ μ λ§λ‘ νμν λλ§ μ¬μ©νμΈμ. κ³Όλνκ² μ¬μ©νλ©΄ 볡μ‘νκ³ μ μ§λ³΄μνκΈ° μ΄λ €μ΄ μ½λλ² μ΄μ€κ° λ μ μμ΅λλ€.
- μ΄λν°λ₯Ό λ¬ΈμννμΈμ: λ€λ₯Έ κ°λ°μκ° μ½λλ₯Ό μ΄ν΄νκ³ μ μ§λ³΄μνκΈ° μ½λλ‘ κ° μ΄λν°μ λͺ©μ κ³Ό μ¬μ©λ²μ λͺ ννκ² λ¬ΈμννμΈμ.
- μ΅μ μ 보λ₯Ό μ μ§νμΈμ: λͺ¨λ κ΄λ¦¬ λ° μ μμ μ΅μ λν₯κ³Ό λͺ¨λ² μ¬λ‘μ λν μ 보λ₯Ό κ³μ μ λ°μ΄νΈνμΈμ.