κ°μ²΄μ§ν₯μ΄ λμ€κ² λ λ°°κ²½
• 1970λ
λ μ΄μ μλ μ€κ³μμ΄ νμν λλ§λ€ κ°λ°νλ λ°©μμΌλ‘ μ§ν
→ μκ°μ΄ μ§λλ©΄μ μ€λ³΅μ½λ μ¦κ°, μ μ§λ³΄μμ μ΄λ €μ λ°μμΌλ‘ μ λ’°λ λ°λ₯ λ° μ±λ₯ μ ν λ±μ μ΄μκ° λ°μνκ²λ¨
• 1970λ
λ μ΄ν, νλ‘κ·Έλ¨μ μͺΌκ°μ΄ κ°λ°νλ ꡬ쑰μ κ°λ° λ°©λ²μ΄ λ§μ΄ μ¬μ© (λΆμ - μ€κ³ - κ°λ° - ν
μ€νΈ)
→ μ¬μ©μ μꡬμ¬νμ΄ λͺ
ννκ³ λ³νκ° λ§μ΄ μμ νκ²½μμλ ν¨μ¨μ μ΄λ, μλͺ
μ£ΌκΈ° κ° λ¨κ³λ³(ex. λ¬Όνꡬ맀..λ¬Όνμ‘°ν..λ¬Όνμμ ..)λ‘ μμ°μ€λ½κ² μλ‘ μ°κ²°λμ§ μκ³ , νλ‘κ·Έλ¨ λ΄λΆ κΈ°λ₯λ€μ λ°μ΄ν°μ 볡μ‘νμ¬ μ½νμμ΄ μννΈμ¨μ΄λ₯Ό λ³κ²½νλκ² μ½μ§ μμ
→ μ μ§λ³΄μ λΉμ© μ¦κ°
→ κ°μ²΄μ§ν₯μ΄ λμ€κ²λ¨
• κ°μ²΄μ§ν₯μ νμ€μΈκ³μ μ‘΄μ¬νλ μ€μ²΄ λ° κ°λ λ€μ κ°μ²΄λΌλ λ 립λ λ¨μλ‘ κ΅¬μ± & λ©μΈμ§λ‘ μνΈμμ© & κ°μ²΄μ§ν₯ μμ€ν μ κ°μννκ³ λͺ μΈννκ³ λ¬Έμννκ²μ΄ UML
κ°μ²΄μ§ν₯ μμ
• κ°μ²΄(Object) : μμ±κ³Ό νλμ κ°μ§κ³ μλκ²
→ (μλ£(=μμ±(λ³μ) + κ°(λ³μκ°)=ν΄λμ€μμ μ μ) λ° μ€νΌλ μ΄μ
(=ν΄λμ€μ ν¬ν¨λμ΄μλ λ©μλ))
• ν΄λμ€(Class) : κ°μ²΄λ₯Ό μμ±ν μ μλ ꡬ쑰μ μ 보λ₯Ό κ°μ§κ³ μλ ν
• λ©μΈμ§(Message) : μ΄λ€ ν κ°μ²΄κ° λ€λ₯Έ κ°μ²΄μκ² νΉμ μμ
μ μμ²νλ μ νΈ
→ μμ κ°μ²΄ μ΄λ¦ + μνν μ€νΌλ μ΄μ
μ΄λ¦ + μ λ¬λλ 맀κ°λ³μ
κ°μ²΄μ§ν₯ νΉμ±
• μΊ‘μν(Encapsulation) : ν΄λΉ κΈ°λ₯μ λμμ λν νλ¦μ μμΈνκ² μνμ μμ΄, μΈλΆμμ μνλ κΈ°λ₯λ€μ μννλλ‘ μ§μνλκ².
→ μΈλΆμμ κ°μ²΄ λ΄ μ§μ μ κ·Ό X
→ μΈλΆμμ μ κ·Όν μ μλ μ€νΌλ μ΄μ
μ ν΅ν΄ κ΄λ ¨ λ°μ΄ν°μ μ κ·Ό (μ΄λ‘μ¨ λ¨μνκ³ λͺ
ννκ² ννκ°λ₯)
→ μ 보μλμ΄ κ°λ₯
• μμ(Inheritance) : νλ‘κ·Έλ¨μ νμ₯ κ°λ₯νλλ‘ ν΄μ£Όλ μλ¨
→ μ¬μ¬μ© λ° νμ₯μ±
→ μΌλ°ν(Generalization) : νμν΄λμ€μ 곡ν΅μ νΉμ±μ μΆμννμ¬ μμ ν΄λμ€λ‘ μ μνλκ² (νμ -> μμ)
→ νΉμν(Specialization) : μμ ν΄λμ€μ μμ±μ μμλ°μ νμ ν΄λμ€μ μ€μ²΄ν (μμ -> νμ)
• μΆμν(Abstraction) : νΉμ μΈ‘λ©΄μ κ°μ‘°νμ¬ λνλΈκ². μ€μΈκ³μν©μ κ°κ²°νκ³ λͺ ννκ² λͺ¨λΈλ§νμ¬ μ΄κ²μ νλ‘κ·Έλ¨μΌλ‘ ꡬν(=μ€μ²΄ν)
• λ€νμ±(Polymorphism) : μ¬λ¬ν΄λμ€μ κ°μ λ©μλλͺ μ μ¬μ©νλ, λμμ΄ λ€λ₯Έ μΌμ΄μ€ (μ€λ²λΌμ΄λ©)
>>> μΊ‘μνμ μΆμνλ₯Ό ν€κΉλ¦¬λ©΄ μλ λ―!
μΊ‘μνλ κ²°κ³Όμ νλλ§ λ°λΌλ³΄λκ²μ΄λ©΄(νΈμΆνλμμ μ
μ₯μμ λ΄λΆμ¬μ μ μνμ μλ€!), μΆμνλ ꡬ체νλ₯Ό νκΈ° μν μλ¨μ μμμΌλ‘ λ΄μΌν λ―
'κ°λ° > java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
WebClient μ¬μ©μ μ£Όμν μ ! (0) | 2023.08.13 |
---|---|
[RxJava] 리μ‘ν°λΈ νλ‘κ·Έλλ° (0) | 2022.05.02 |
java - call by value, call by reference (0) | 2021.07.11 |
μλ°-λλ€(lambda) (0) | 2021.05.28 |
νλ‘μΈμ€ / μ€λ λ (0) | 2021.05.26 |