object oriented programming
νλ‘κ·Έλλ°μ λ°°μ°λ©΄μ 'κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°' μ΄λ λ§μ μ λ§ λ§μ΄ λ€μλ€. μ¬μ ν μ΄λ €μ΄ κ°λ μ΄μ§λ§ ν΄λΉ κΈμ μ½κ³ μ‘°κΈμ μ΄ν΄ ν μ μμλ€. κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ΄ λμ¨ νλ¦κ³Ό μ μ€μνμ§ μ½κ² μ€λͺ ν΄μ£Όλ κΈμ΄λ νλ² μ½μ΄λ³΄λκ±Έ μΆμ²νλ€.
π μΆμ²κΈ | κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°
κ·Έλ λ€λ©΄ ν΄λ¦° μν€ν μ²μ μ€λͺ λ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ λν΄ μ 리λ₯Ό ν΄λ³΄μ.
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ μμ
μΊ‘μν(Encapsulation) μΊ‘μνλ κ°μ²΄μ μΌλΆ ν¨μλ λ³μλ₯Ό μΈλΆμμ μ κ·Όνμ§ λͺ»νλλ‘ κ΅¬λΆνλ κ²μ λ§νλ€. κ°μ²΄ μ§ν₯ μΈμ΄μμλ μΊ‘μν κ°λ μ ν΄λμ€μ private λ©€λ² λ°μ΄ν°μμ public λ©€λ² ν¨μλ‘ νννλ€.
κ°λ¨ν C μΈμ΄ μμ
C++ μ»΄νμΌλ¬λ ν΄λμ€μ μΈμ€ν΄μ€ ν¬κΈ°λ₯Ό μ μ μμ΄μΌ νκΈ° λλ¬Έμ λ€μκ³Ό κ°μ΄ μ½λλ₯Ό μμ±νλ€.
C++ μ½λμμλ point.h ν€λ νμΌμ μ¬μ©νλ μΈ‘μμ λ©€λ² λ³μ x, yλ₯Ό μκ² λλ€. λ©€λ² λ³μ μ΄λ¦μ΄ λ°λλ©΄ μ¬μ©νλ μΈ‘μμλ λ³κ²½ν΄μΌ νλ€. μ΄λ μΊ‘μνκ° κΉ¨μ§ κ²μ΄λ€. λ§μ κ°μ²΄ μ§ν₯ μΈμ΄κ° μΊ‘μνλ₯Ό κ°μ νμ§ μλλ€.
μμ(Inheritance) μμμ λ³μμ ν¨μλ₯Ό νλμ μ ν¨ λ²μλ‘ λ¬Άμ΄μ μ¬μ μ νλ κ²μ λ§νλ€.
namedPoint.h
NamedPoint λ°μ΄ν° κ΅¬μ‘°κ° Point λ°μ΄ν° ꡬ쑰λ‘λΆν° νμλ ꡬ쑰μ²λΌ λμνλ€. NamedPointκ° Pointλ₯Ό ν¬ν¨νλ μμ μ§ν©μΌλ‘, NamedPointλ Pointμ λͺ¨λ λ©€λ²λ₯Ό ν¬ν¨νλ€. μ΄ λ°©λ²μΌλ‘ λ¨μΌ μμμ ꡬνν μ μμ§λ§ λ€μ€ μμμ ꡬννκΈ°λ μ΄λ ΅λ€.
λ€νμ±
κ°μ²΄ μ§ν₯ μΈμ΄μμ λ€νμ±μ μμ νκ³ νΈλ¦¬νκ² μ 곡νλ€λ κ²μ μμ€ μ½λ μμ‘΄μ±μ μμ μν¨λ€λ κ²μ΄λ€. νΈμΆνλ λͺ¨λμ΄λ νΈμΆλλ λͺ¨λμ΄λ κ΄κ³μμ΄ μμ€ μ½λ μμ‘΄μ±μ μνλ λ°©ν₯μΌλ‘ μ€μ ν μ μλ€.
λ€νμ± λ무 μ΄λ €μμ λ°λ³΅ νμ΅ νμ μ°Έκ³
Last updated