μ»΄ν¬λνΈμ λͺ¨λμ μ 보μ²λ¦¬κΈ°μ¬ μ격μ¦μμλ λμ€λ λ΄μ©μΈλ° μ΄ λ μ©μ΄μ μ°¨μ΄κ° λͺ¨νΈνλ€.
λͺ¨λ (Module) μ΄λ?
λͺ¨λμ μκ°λ³΄λ€ μ½κ² μκ°ν μ μλ€.
μ°λ¦¬κ° νλ‘κ·Έλ¨μ λ§λ€ λ, νλμ κΈ°λ₯μ λ§λ€κ±°λ νλμ ν΄λμ€λ₯Ό λ§λ€κ² λλ€. μ΄κ²μ λͺ¨λμ΄λΌκ³ νλ€.
μκ°λ³΄λ€ λ무 κ°λ¨νκ² μμ±νλλ° μ΄κ²μ μ€μ μλ‘ λ€μ΄λ³΄κ² λ€.
κ³μ°κΈ°λ₯Ό μμ±ν΄λ³΄μ. μ°λ¦¬λ λνκΈ° μ°μ°μ μμ±νλ€.
int sum(a, b) {
return a + b;
}
μ΄μ μ΄κ²μ νλμ λͺ¨λμ΄λ€. κ·Έ μΈ -, *, / μ°μ°λ λͺ¨λμ΄λΌκ³ ν μ μλ€.
κ·ΈλΌ μ°λ¦¬λ μλ¬Έμ κ°μ§ μ μλ€. λͺ¨λμ ν¨μ λλ λ©μλμΈκ°μ? μ λ΅μ μλμ€λ€.
public class Calculator {
public int plus();
public int minus();
public int divide();
public int multiple();
}
μ΄λ° λ€μμ κΈ°λ₯μ κ°μ§κ³ μλ Calculator classλ λͺ¨λμ΄λ€.
μλνλ©΄ μ¬μΉμ°μ°μ΄λΌλ νλμ κΈ°λ₯μ κ°κ³ μκΈ° λλ¬Έμ΄λ€.
boolean check(int num) {
if (num > 10) {
return false;
}
return true;
}
int sum(a, b) {
int c = a + b;
if (check(c)) {
return c;
}
return 10;
}
μ΄λ κ² λμ΄ μμ λ, checkλ λͺ¨λμ΄ λμ§ μλλ€. μλνλ©΄ sumμ κΈ°λ₯μ μννκΈ° μν κ³Όμ μ΄κΈ° λλ¬Έμ΄λ€.
import mymodule.*;
int main() {
// mymoduleμ κ° κΈ°λ₯λ€
sout(mymodule.Caculator.sum(3, 4));
sout(mymoudle.Member.login(id, password));
}
μ¬λ¬ λͺ¨λμ λ΄κ³ μλ μ§ν©μ²΄ λν λͺ¨λμ΄λ€.
μλ₯Ό λ€μ΄ λ‘κ·ΈμΈνμ¬ νμλ§ κ³μ°κΈ°λ₯Ό μ¬μ©ν μ μλ νλ‘κ·Έλ¨μ΄λΌλ©΄ μ¬λ°λ₯Έ κΈ°λ₯μΈ κ²μ΄λ€.
μ΄λ κ² λͺ¨λμ νλ‘κ·Έλ¨ μμ€μ λ°λΌμ μ¬μ©ν μ μλ κ° κΈ°λ₯λ€μ μλ―Ένλ€.
μ¬κΈ°μ νλ‘κ·Έλ¨ μμ€μ λ°λ₯Έ κΈ°λ₯μ μλ―Έκ° λ 립μ μ΄λΌλ μλ―Έμ΄λ€.
μ΄λ° λͺ¨λμ μμ±ν λλ μ΄λ»κ² ꡬμ±ν μ§λ₯Ό μκ°νκ³ 'μ€κ³'νλ€.
κ·Έλμ λͺ¨λμ μ€κ³μμ μμ μλ―Έμλ μμλΌκ³ νλ€.
λ€λ§ μ£Όμν΄μΌ ν μ μ μμλ₯Ό κΈ°λ₯μΌλ‘ μμ±νλ€κ³ 'λͺ¨λ = κΈ°λ₯'μΌλ‘ μκ°νλ©΄ μλλ€.
μμμμ μ€λͺ νλ― λͺ¨λμ λͺ¨λλ‘ κ΅¬μ±μ΄ λ μ μλ€. μ¬κΈ°μ λͺ¨λ λ΄μ μλ μ½λλ€μ ν¬κ΄ν΄μ λͺ¨λμ΄λΌκ³ μΉνλ€.
νλμ κΈ°λ₯μ λν΄μλ§ λͺ¨λμ΄ μλ λ³μ, λ©μλ, ν΄λμ€λ€μ ν¬κ΄ν΄μ λͺ¨λμ΄λΌκ³ νλ€.
λ³μμ μ§ν© = λ©μλ, λ©μλ μ§ν© = ν΄λμ€, ν΄λμ€ μ§ν© = ν¨ν€μ§κ° λͺ¨λ λͺ¨λμ΄ λλ€.
μ»΄ν¬λνΈ (Component) λ?
μ»΄ν¬λνΈμ λͺ¨λμ μ°¨μ΄λ₯Ό μ΄ν΄νκΈ°κ° μ λ§ μ΄λ €μ λ€.
μ¬λ¬ κΈ°λ₯μ λͺ¨λ μ€κ³λ₯Ό νλ€λ©΄ μ»΄ν¬λνΈλ μ λ° λͺ¨λμ μ§μ μ¬μ©νλ μν μ΄λ€.
μ¬κΈ°μ λ§νλ 'μ§μ μ¬μ©νλ μν 'μ΄λΌλκ² μ°Έ λͺ¨νΈνλλ°, λ°°ν¬μ λν΄μ μκ³ μμ΄μΌνλ€.
λ¨Όμ μ»΄ν¬λνΈλ₯Ό μ‘°κΈ λ μμΈνκ² μ€λͺ ν΄λ³΄μλ©΄ 'μ€ν μμ μ μλ―Έμλ μμ'μ΄λ€.
νμ΄μ μ€λͺ νμλ©΄ λͺ¨λ μ€ κΈ°λ₯μ μννκΈ° μν μ΅μμ λͺ¨λμ μλ―Ένλ κ²μ΄λ€.
λ‘κ·ΈμΈμ μκ°ν΄λ³΄μ. λ‘κ·ΈμΈμλ μ λ ₯κ° κ²μ¦, μ¬μ©μ κ²μ¦, μμΈμ²λ¦¬ λ±μ μμ μ΄ μ΄λ£¨μ΄μ§ κ²μ΄λ€.
μ΄ κ° κ°μ λͺ¨λμ΄λΌκ³ νλ©° μ΄ λͺ¨λλ€μ ν¬ν¨ν λ‘κ·ΈμΈ λͺ¨λμ΄ μ‘΄μ¬ν κ²μ΄λ€.
ν΄λΌμ΄μΈνΈ μ μ₯μμ λ‘κ·ΈμΈμ ν λ μ λ ₯κ° κ²μ¦, μ¬μ©μ κ²μ¦, μμΈμ²λ¦¬λ₯Ό νκ³ λ‘κ·ΈμΈμ νμ§ μλλ€.
κ·Έμ λ‘κ·ΈμΈ κΈ°λ₯λ§ μ¬μ©νλ€.
μ΄λ κ² νΉμ κΈ°λ₯μ μννκΈ° μν μ΅μμ κΈ°λ₯μ ν΄λΌμ΄μΈνΈκ° μ€ννλ€.
μ¦, μ€ν μμ μ μλ―Έμλ μμκ° λλ κ²μ΄λ€. μ΄λ κ² μ΅μμ κΈ°λ₯(λͺ¨λ)μ μνν μ μλ κ²μ΄ μ»΄ν¬λνΈμ΄λ€.
μ΄λ μ± μ΄λ λΈλ‘κ·Έλ κ°μμ±μμ΄ μ€λͺ λ§ λμ΄ μμ΄μ μ ννκΈ° μ΄ν΄νκΈ° νλ€μμν λ° μ΄ κΈμ ν΅ν΄ κ°λ μ μ‘μμΌλ©΄..
λ΄κ° μ°Έκ³ ν λΈλ‘κ·Έμμλ 곡λΆν΄λ³΄λ©΄ μ’μ μκ°μ΄ λ κ² κ°λ€.
μ€ν μμ μ λ€λ₯Έ ν΄μ
μ μ κ°λ μΌλ‘ OS κ°λ μ΄ νμνλ€. νλ‘κ·Έλ¨μ μ€ννκ² λλ©΄ νλ‘μΈμ€ μνκ° λλ€.
μ΄ νλ‘μΈμ€λ κΈ°λ³Έμ μΌλ‘ νλμ μ€λ λλ₯Ό κ°μ§κ³ μλ€.
μ€λ λλ μ€ν λ¨μμ΄λ―λ‘ μ€λ λ μνλ₯Ό κ°μ§ μ μλ κ²μ μ»΄ν¬λνΈλΌκ³ ν μ μλ€.
μμ μ€λͺ ν λ‘κ·ΈμΈμμ μ¬λ¬ λͺ¨λμ λν΄ λͺ¨λ μ€λ λλ₯Ό μμ±νλ€κ³ μκ°ν΄λ³΄μ.
μ λ ₯κ° κ²μ¦μμ 컨ν μ€νΈ μ€μμΉ, μ¬μ©μ κ²μ¦μμ 컨ν μ€νΈ μ€μμΉ, ...
μ무리 μ€λ λμ 컨ν μ€νΈ μ€μμΉμ΄ κ°λ³λ€κ³ λ νλ νλ‘κ·Έλ¨μ κΈ°λ₯μ΄ λ§€μ° λ¨μ΄μ§ κ²μ΄λ€.
μ λΈλ‘κ·Έμμ λ§νλ ν΄λΌμ΄μΈνΈ - μλ² μμ€ν μμ 1κ°μ μλ²μ 10κ°μ ν΄λΌμ΄μΈνΈκ° μ‘΄μ¬ν λ,
λͺ¨λμ 2κ°μ΄κ³ μ»΄ν¬λνΈλ 11κ°λΌκ³ νλ€. μ΄μ κ° λκΉ??
λ΄ μ§μΈμ μλ²μ λͺ¨λ 1κ°μ ν΄λΌμ΄μΈνΈ κ° κ°μ λͺ¨λ 1κ°μ©μ΄ νμν κ² μλλ? κ·Έλ¬λ μ΄ 10κ°μ λͺ¨λμ΄ μλλ?
μμ κ°μ μ§λ¬Έμ λμ‘λλ° μ²μ μ€λͺ ν λ°°ν¬μ κ°λ μ΄ μ¬κΈ°μ νμνλ€.
ν΄λΌμ΄μΈνΈ - μλ² μμ€ν μ μμΈν λ΄μ©μ μ¬κΈ°λ₯Ό μ°Έκ³ νλ©΄ μ’κ² λ€.
ν΄λΌμ΄μΈνΈ - μλ² μμ€ν μ λ°°ν¬νλ©΄ κ° κ° νλμ©μ λͺ¨λμ΄ νμνκ²λκ³ ν΄λΌμ΄μΈνΈλ€μ ν΄λΌμ΄μΈνΈ μλ²μ μ μν΄μ λ°±μλ μλ²μ μμ²νκ² λλ€.
μ΄ λ, ν΄λΌμ΄μΈνΈ μλ²λ νλμ΄λ―λ‘ λ€μμ μ¬μ©μκ° μ μνκ² λλ€λ©΄ ν΄λΌμ΄μΈνΈ μλ²μμλ κ° κ°μ ν΄λΌμ΄μΈνΈλ₯Ό μ€λ λλ‘ κ΄λ¦¬νκ² λ κ²μ΄λ€. μ¦, ν΄λΌμ΄μΈνΈμλ 1κ°μ λͺ¨λμ 10κ°μ μ»΄ν¬λνΈ(μ€λ λ)κ° μκΈ°κ² λλ€.
μλ²μμλ 1κ°μ λͺ¨λμ 1κ°μ μ»΄ν¬λνΈ(μ€λ λ)κ° μκΈ°κ² λλ€. (1νλ‘μΈμ€ = μ΅μ 1μ€λ λλ₯Ό κ°μ§)
컨ν μ΄λ (Container) λ?
컨ν μ΄λλ μ»΄ν¬λνΈλ₯Ό μ΄ν΄νκ² λμμΌλ©΄ κ΅μ₯ν μ¬μ΄ κ°λ μ΄λ€.
μΉμ¬μ΄νΈμ κ²½μ° νλ‘ νΈ μλ²μμ html, css, js λ±μΌλ‘ viewλ₯Ό μ 곡νκ² λλ€.
κ·Έλ¦¬κ³ κ° κ°μ κΈ°λ₯μ΄ νμν μΉ νμ΄μ§λ€μ μμ±ν΄μ μ μ νκ² κΈ°λ₯μ λ°°μΉνμ¬ ν΄λΌμ΄μΈνΈλ€μκ² UIλ₯Ό μ 곡νλλ°
μ΄ λ, νλμ μΉ νμ΄μ§ = νλμ λ°±μλ μλ²μ κΈ°λ₯λ€μ΄ μλλ€.
νλμ λ°±μλ μλ²μ κΈ°λ₯μΌλ‘ λͺ κ°μ μΉ νμ΄μ§λ₯Ό λ§λ€μ΄μ κ° κ°μ κΈ°λ₯μ μ μ ν λ°°μΉνλ κ²μ΄λ€.
μ¦, κΈ°λ₯λ€μ΄ λͺ¨μ¬μλ κ³³μ΄ μ»¨ν μ΄λμΈλ° μ¬κΈ°μ λ§νλ κΈ°λ₯μ μ€νν μ μλ μ΅μμ κΈ°λ₯μ΄κ³ μ΄λ μ¦, μ»΄ν¬λνΈλ₯Ό μλ―Ένλ€.
μ 리
- λͺ¨λ
- λ 립μ μΈ κΈ°λ₯λ€
- μ¬μ¬μ©μ΄ κ°λ₯ (μμ κΈ°λ₯λ€μ μ¬μ¬μ©νμ¬ ν° κΈ°λ₯μ λ§λ€ μ μμ)
- μμ κΈ°λ₯λ€, μμ κΈ°λ₯λ€μ΄ λͺ¨μ¬μλ ν° κΈ°λ₯λ€, ν° κΈ°λ₯λ€μ΄ λͺ¨μΈ μ§ν©μ²΄, μ§ν©μ²΄λ€μ΄ λͺ¨μΈ ν¨ν€μ§
- νλ‘κ·Έλ¨ μ½λμ μΌλΆλ€
- μ»΄ν¬λνΈ
- λͺ¨λ μ€ μ€νν λ νμν μ΅μνμ λ¨μ
- λ 립μ μ΄μ΄μΌ ν¨. (λ‘κ·ΈμΈμμ μμ΄λμ λΉλ°λ²νΈλ₯Ό μ°Ύμμ£Όλ©΄μ λ‘κ·ΈμΈμ΄ λλ€λ©΄ λ§μ΄ μλ¨.)
- νλ‘κ·Έλ¨μ μΌλΆλ€
- μ¬μ¬μ© κ°λ₯ν¨. (λ€λ₯Έ νλ‘κ·Έλ¨μ μΌλΆλ‘ μ¬μ© κ°λ₯)
- 컨ν
μ΄λ
- 컨ν μ΄λ μμ€μ λ°λ₯Έ μ»΄ν¬λνΈλ€μ μ§ν©μ²΄
- νΉμ ν κΈ°λ₯λ€μ μνν μ μλ νλ‘κ·Έλ¨ μμ€
'IT > κΈ°μ λΈλ‘κ·Έ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
ν΄λΌμ΄μΈνΈ-μλ² μμ€ν (Client-Server System) (0) | 2024.02.26 |
---|---|
μ»΄ν¨ν°μμ Interfaceλ? (1) | 2024.01.02 |