Procedural Programming
π νλ‘κ·Έλλ° ν¨λ¬λ€μ
- Procedural Programming | μ μ°¨μ νλ‘κ·Έλλ°
- Object-Oriented Programming | κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
- Functional-Programming | ν¨μν νλ‘κ·Έλλ°
- Event-Driven-Programming | μ΄λ²€νΈ κΈ°λ° νλ‘κ·Έλλ°
π« Procedural Programming | μ μ°¨μ§ν₯ νλ‘κ·Έλλ°
Procedure νλ‘μμ (Routine 루ν΄, SubRoutine μλΈλ£¨ν΄, Method λ©μλ, Function ν¨μ)
λ₯Ό μ΄μ©ν νλ‘κ·Έλλ° ν¨λ¬λ€μ
VS μμ°¨μ νλ‘κ·Έλλ°, μμ°¨μ λͺ
λ Ή μν
μΆμν, μ¬μ¬μ©μ±
Procedural β Procedure
μ μ°¨
μ μ§μ€νλ κ²μ΄ μλλΌ (μ μ°¨/μμμ λ°λΌ λͺ
λ Ήμ΄λ₯Ό μ€ννμλ κ²μ΄ μλλΌ), νλ‘μμ
μ μ§μ€νλ νλ‘κ·Έλλ° ν¨λ¬λ€μ
λͺ¨λ νλ‘κ·Έλλ°μ μ μ°¨
λ₯Ό κ°μ§κ³ , μμμ λ°λΌ λͺ
λ Ήμ΄ μ€νλλ€.
νλ‘μμ μ§ν₯ νλ‘κ·Έλλ°μ΄ λ μ ν©ν μ§λ λͺ¨λ₯Έλ€
ν¨μλ μ
λ ₯μ΄ λ€μ΄μμ μΆλ ₯μ΄ λκ°λ λΈλλ°μ€λ‘ κ°μ£Όλλ€.
μ μ°¨ μ§ν₯μμ μ¬μ©λλ μ€κ³ λ°©λ²μ νν₯μ μ€κ³ (Top Down Design) μ΄λΌκ³ λ λΆλ¦°λ€.
νν₯μ μ€κ³ λ°©λ²μμλ λ¬Έμ λ₯Όλ μμ μλΈ νλ‘μμ λ‘ λΆν΄νμ¬ μνλ μμ€μ λλ¬ν λκΉμ§ μ΄ κ³Όμ μ λ°λ³΅ν¨μΌλ‘μ¨ μμ€ν
μ μ€κ³νλ λ°©λ²μ λ§νλ€.
𫧠문μ μ
λ°μ΄ν°κ° ν¨μμ λΆλ¦¬λλ€.
λ§μ κ²½μ°μ, μ μ°¨ μ§ν₯ λ°©λ²μμλ λ°μ΄ν°κ° νλ‘κ·Έλ¨μ μ€μν λΆλΆμμλ λΆκ΅¬νκ³ νλ‘κ·Έλλ¨Έλ€μ ν¨μ μμ±μλ§ μ κ²½μ μ°κ² λλ€.
1. κ³Όλν μ μλ³μμ μ¬μ©
λ§μ κ²½μ°, λ°μ΄ν°λ μ μ λ³μμ μ μ₯λλ€. μ΄ κ²½μ°, λ°μ΄ν°μ μ κ·Όνλ κ²μ ν΅μ ν μ μμ΄μ μ΄λ€ ν¨μλ μ§ μ½κ² λ°μ΄ν°λ₯Ό λ³κ²½ν μ μλ€. μΌλ°μ μΌλ‘ κ·λͺ¨κ° ν° νλ‘κ·Έλ¨μ κ²½μ°, λ§μ ν¨μλ€μ΄ μ½κ² μ κ·Όνκ² νκΈ° μν΄μ μ μ λ³μμ ν΅μ¬μ μΈ λ°μ΄ν°λ₯Ό μ μ₯νκ² λλ€. νμ§λ§ μ μ λ³μλ λͺ¨λ ν¨μμ λνμ¬ κ°λ°©λμ΄ μκΈ° λλ¬Έμ μ μ λ³μμ κ°μ μλͺ» μ€μ ν κ°λ₯μ±λ λ§μμ§λ€.
2. νλ‘κ·Έλ¨μ μ΄ν΄κ° μ΄λ €μμ§λ€
μ μ°¨ μ§ν₯μμλ μμ λ€μ΄ ν¨μλ‘ μμ±λλ€. νμ§λ§ μΈκ°μ΄ λμμ μ΄ν΄ν μ μλ ν¨μμ μ«μλ μ νλμ΄ μλ€. λ°λΌμ μλ‘ μνΈ μμ©νλ μλ°± κ°μ ν¨μλ₯Ό μ΄ν΄νλ κ²μ μ½μ§ μλ€.
3. λ³κ²½νκ³ νμ₯νκΈ°κ° μ΄λ ΅λ€
μ μ°¨ μ§ν₯μ κ²½μ°, νλ‘κ·Έλ¨μ 볡μ‘λκ° μ΄λ μ λ μ΄μμΌλ‘ 컀μ§κ² λλ©΄ νλ‘κ·Έλ¨μ λ³κ²½νκΈ°κ° μ΄λ €μμ§λ€. μ’ μ’ νλμ ν¨μλ₯Ό μμ νλ©΄ λ€λ₯Έ ν¨μλ€μ΄ μν₯μ λ°κ² λκΈ° λλ¬Έμ΄λ€.