π£ μ€λλ νλ¨κ³ UP!
ꡬ쑰μ νλ‘κ·Έλ¨κ³Ό κ°μ²΄μ§ν₯ μΈμ΄μ μ°¨μ΄μ μ λν΄μ μ΄ν΄λ³΄λλ‘ νμ!_! λλ₯!
π£ ꡬ쑰μ νλ‘κ·Έλ¨
1. κ°λ
ꡬ쑰μ νλ‘κ·Έλλ°μ μμ
μ λ μκ³ κ΄λ¦¬ κ°λ₯ν μ μ°¨λ κΈ°λ₯μΌλ‘ λλλ νν₯μ μ€κ³ μ κ·Ό λ°©μμ λ°λ₯Έλ€. μμ¬ κ²°μ μ μν΄ λ£¨νμ 쑰건μ μ¬μ©νμ¬ μμ°¨μ μ€νμ κ°μ‘°νκ³ , λͺ¨λνλ μ½λ μ¬μ¬μ©κ³Ό λ³΄λ€ μ¬μ΄ μ μ§ κ΄λ¦¬λ₯Ό κ°λ₯νκ² νλ ν΅μ¬μ΄λ€.
2. νΉμ§
- νν₯μ λμμΈ μ κ·Ό λ°©μ
- μμ
μ μ μ°¨λ κΈ°λ₯μΌλ‘ λλ
- μμ°¨μ μ€νμ κ°μ‘°
- μμ¬κ²°μ μ μν΄ λ£¨νμ 쑰건μ μ¬μ©
- μ½λ μ¬μ¬μ©μ μν λͺ¨λν
π£ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(OOP)
1. κ°λ
OOPμμ μ½λλ λ°μ΄ν°μ λμμ λͺ¨λ μΊ‘μννλ κ°μ²΄λ₯Ό μ€μ¬μΌλ‘ μ§νλλ€. μΊ‘μν, μμ λ° λ€νμ±κ³Ό κ°μ κΈ°λ³Έ κ°λ
μ μ΄μ§νμ¬ λͺ¨λμ, νμ₯ κ°λ₯ λ° μ μ§ κ΄λ¦¬ κ°λ₯ν μ½λ μμ±. OOPλ μ€μ μν°ν°μ μ§κ΄μ μΈ λͺ¨λΈλ§μ μ΄μ§νκ³ ν΄λμ€ λ° κ°μ²΄ μ¬μ©μ ν΅ν΄ μ½λ μ¬μ¬μ© λ° νμ
μ μ₯λ €νλ€.
2. νΉμ§
- λ°μ΄ν°μ λμμ μΊ‘μννλ κ°μ²΄λ₯Ό μ€μ¬μΌλ‘ νμ
- μΊ‘μν, μμ λ° λ€νμ±μ μ΄μ§
- λͺ¨λμ, νμ₯ κ°λ₯, μ μ§ κ΄λ¦¬ κ°λ₯ν μ½λλ₯Ό μ‘μ±
- μ€μ μν°ν°μ μ§κ΄μ μΈ λͺ¨λΈλ§μ μ΄μ§
- ν΄λμ€μ κ°μ²΄λ₯Ό ν΅ν΄ μ½λ μ¬μ¬μ© λ° νμ
μ μ΄μ§
π£ ꡬ쑰μ νλ‘κ·Έλ¨ vs κ°μ²΄μ§ν₯ μΈμ΄
1. νλ‘κ·Έλλ° ν¨λ¬λ€μ
ꡬ쑰μ νλ‘κ·Έλ¨
νλ‘κ·Έλ¨μ μμ±ν λ μΌλ ¨μ μμ°¨μ λ¨κ³λ‘ ꡬμ±νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° μ€μ . μ£Όλ‘ "ν¨μ"λ₯Ό μ€μ¬μΌλ‘ νλ‘κ·Έλλ°
// C μΈμ΄
int main()
κ°μ²΄μ§ν₯ μΈμ΄
κ°μ²΄λΌλ κ°λ
μ μ€μ¬μΌλ‘ νλ‘κ·Έλ¨μ κ΅¬μ± μ΄λ λ°μ΄ν°μ ν΄λΉ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ©μλ(ν¨μ)λ₯Ό ν¨κ» λ¬Άμ΄ κ°μ²΄λ₯Ό νμ±νλ κ°λ
class Person { String name; λμ΄; λ¬΄ν¨ μΈμ() {} }
2. λ°μ΄ν° μΆμν
ꡬ쑰μ νλ‘κ·Έλ¨
λ°μ΄ν°μ ν¨μ(κΈ°λ₯)λ₯Ό λΆλ¦¬νμ¬ μκ°. λ°μ΄ν°λ₯Ό μΆμννκΈ° μν΄ μΌλ°μ μΌλ‘ "ꡬ쑰체" λλ "λ μ½λ"μ κ°μ λ°μ΄ν° ꡬ쑰λ₯Ό μ¬μ©
struct Person { char name[50]; μ μ λμ΄; }
κ°μ²΄μ§ν₯ μΈμ΄
λ°μ΄ν°μ ν΄λΉ λ°μ΄ν°λ₯Ό μ‘°μνλ λ©μλ(κΈ°λ₯)λ₯Ό νλμ κ°μ²΄λ‘ λ¬Άμ΄ μκ°. μ΄λ λ°μ΄ν°μ κ·Έ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ°©λ²μ ν¨κ» μΊ‘μννλ κ°λ
νλμ λ©μλλ₯Ό μ¬μ©νμ¬ Person ν΄λμ€λ₯Ό μ μ
3. μμκ³Ό λ€νμ±
ꡬ쑰μ νλ‘κ·Έλ¨
μΌλ°μ μΌλ‘ μμκ³Ό λ€νμ±κ³Ό κ°μ κ°λ
μ μ§μνμ§ μμ. λλΆλΆμ ꡬ쑰μ νλ‘κ·Έλλ° μΈμ΄λ μ μ°¨μ μΈ νλ¦μ μ€μνκΈ° λλ¬Έ.
κ°μ²΄μ§ν₯ μΈμ΄
μμμ ν΅ν΄ κΈ°μ‘΄ ν΄λμ€μ νΉμ§μ λ¬Όλ €λ°μ μλ‘μ΄ ν΄λμ€λ₯Ό λ§λ€κ³ , λ€νμ±μ ν΅ν΄ λμΌν λ©μλ νΈμΆμ λν΄ λ€λ₯Έ κ°μ²΄λ€μ΄ λ€λ₯΄κ² λ°μνλλ‘ ν μ μμ.
4. μΊ‘μνμ μλν
ꡬ쑰μ νλ‘κ·Έλ¨
μ£Όλ‘ νλ‘μμ μ ν¨μλ₯Ό μ¬μ©νμ¬ κΈ°λ₯μ λͺ¨λννκ³ μΊ‘μννμ§λ§, μΈλΆμμ ν¨μ λ΄λΆμ μΈλΆ ꡬνμ κ°μΆλ λ°λ μ νμ .
κ°μ²΄μ§ν₯ μΈμ΄
ν΄λμ€μ κ°μ²΄λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°μ ν΄λΉ λ°μ΄ν°λ₯Ό μ‘°μνλ λ©μλλ₯Ό νλλ‘ λ¬Άμ΄ μΊ‘μννλ©°, μΈλΆμμλ κ°μ²΄ λ΄λΆμ μΈλΆ ꡬνμ μλ κ°λ₯.
5. μ½λμ μ¬μ¬μ©μ±κ³Ό μ μ§λ³΄μμ±
ꡬ쑰μ νλ‘κ·Έλ¨
ν¨μμ νλ‘μμ λ₯Ό ν΅ν΄ μ½λμ μ¬μ¬μ©μ±μ μ¦κ°μν¬ μ μμ§λ§, μ μ§λ³΄μμ±μ κ°μ²΄μ§ν₯ μΈμ΄μ λΉν΄ μλμ μΌλ‘ λ¨μ΄μ§ μ μμ.
void printPerson(Person p)
κ°μ²΄μ§ν₯ μΈμ΄
μμ, λ€νμ±, μΊ‘μν λ±μ κ°λ
μ ν΅ν΄ μ½λμ μ¬μ¬μ©μ±κ³Ό μ μ§λ³΄μμ±μ λμΌ μ μμ.
//λͺ¨λμ±κ³Ό μ¬μ¬μ©μ±μ μν΄ ν΄λμ€μ κ°μ²΄λ₯Ό μ¬μ©
Person p = new Person()
π£ κ° μΈμ΄ μ΄ν΄λ³΄κΈ°
ꡬ쑰νλ νλ‘κ·Έλλ°
- C, Pascal, BASIC: μ μ°¨μ νλ‘κ·Έλλ°μ μ€μ¬μΌλ‘ ν¨μλ₯Ό μ¬μ©
κ°μ²΄μ§ν₯ μΈμ΄
- Java: ν΄λμ€μ κ°μ²΄λ₯Ό μ¬μ©νμ¬ λ°μ΄ν°μ λμμ μΊ‘μν
- C++: κ°μ²΄μ§ν₯κ³Ό μ μ°¨μ νλ‘κ·Έλλ°μ λͺ¨λ μ§μ
- Python: ν΄λμ€μ κ°μ²΄λ₯Ό ν΅ν΄ κ°μ²΄μ§ν₯μ μ€κ³λ₯Ό μ΄μ§
- JavaScript: κ°μ²΄μ νλ‘ν νμ
μ μ΄μ©ν κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ μ§μ
κ·ΈλΌ μ€λλ μ΄λ§ λΎ°λ‘λ‘±!