1. ν΄λμ€(Class)
- μ μ: ν΄λμ€λ κ°μ²΄λ₯Ό μμ±νκΈ° μν μ²μ¬μ§(μ€κ³λ)μ΄λ€. μλ°μμ λͺ¨λ κ°μ²΄λ ν΄λμ€λ₯Ό κΈ°λ°μΌλ‘ μμ±λλ€.
- μν : ν΄λμ€λ μμ±(νλ)κ³Ό λμ(λ©μλ)μ μ μνλ€. μλ₯Ό λ€μ΄, Car ν΄λμ€λ μλμ°¨μ μμ±(μ: μμ, μλ)κ³Ό λμ(μ: κ°μ, λΈλ μ΄ν¬)μ μ μν μ μλ€.
2. κ°μ²΄(Object)
- μ μ: κ°μ²΄λ ν΄λμ€λ‘λΆν° μμ±λ μΈμ€ν΄μ€μ΄λ€. ν΄λμ€κ° μ€κ³λλΌλ©΄, κ°μ²΄λ κ·Έ μ€κ³λλ₯Ό λ°νμΌλ‘ λ§λ€μ΄μ§ μ€μ 물체μ΄λ€.
- μν : κ°μ²΄λ ν΄λμ€μμ μ μλ μμ±κ³Ό λ©μλλ₯Ό κ°μ§λ©°, μ€μ λ‘ λ©λͺ¨λ¦¬μμμ μ‘΄μ¬νλ©° λμνλ€. μ¬λ¬ κ°μ²΄κ° λμΌν ν΄λμ€λ‘λΆν° μμ±λ μ μλ€.
3. μΊ‘μν(Encapsulation)
- μ μ: μΊ‘μνλ κ°μ²΄μ λ΄λΆ μν(νλ)λ₯Ό μΈλΆλ‘λΆν° μ¨κΈ°κ³ , ν΄λΉ κ°μ²΄μ μνλ₯Ό λ³κ²½νλ λ©μλλ§μ μΈλΆμ 곡κ°νλ κ²μ΄λ€.
- μν : λ°μ΄ν° 보νΈμ μ½λμ μ μ§ λ³΄μλ₯Ό μ©μ΄νκ² νλ€. μλ°μμ λ³΄ν΅ μ κ·Ό μ νμ(μ: private, public, protected)λ₯Ό μ¬μ©νμ¬ μΊ‘μνλ₯Ό ꡬννλ€.
4. μμ(Inheritance)
- μ μ: μμμ κΈ°μ‘΄ ν΄λμ€λ₯Ό κΈ°λ°μΌλ‘ μλ‘μ΄ ν΄λμ€λ₯Ό μμ±νλ κΈ°λ₯μ΄λ€. μλ‘μ΄ ν΄λμ€λ κΈ°μ‘΄ ν΄λμ€μ μμ±κ³Ό λ©μλλ₯Ό μμλ°μΌλ©°, νμμ λ°λΌ μλ‘μ΄ μμ±κ³Ό λ©μλλ₯Ό μΆκ°ν μ μλ€.
- μν : μ½λμ μ¬μ¬μ©μ±μ λμ΄κ³ , κ³μΈ΅μ μΈ ν΄λμ€ κ΅¬μ‘°λ₯Ό λ§λ€ μ μλ€. μλ₯Ό λ€μ΄, Animal ν΄λμ€λ₯Ό μμλ°μ Dogμ Cat ν΄λμ€λ₯Ό λ§λ€ μ μλ€.
5. λ€νμ±(Polymorphism)
- μ μ: λ€νμ±μ νλμ μΈν°νμ΄μ€λ λΆλͺ¨ ν΄λμ€μ λν΄ μ¬λ¬ ννμ κ°μ²΄λ₯Ό κ°μ§ μ μλ λ₯λ ₯μ΄λ€. λ©μλ μ€λ²λ‘λ©(κ°μ μ΄λ¦μ λ©μλλ₯Ό μ¬λ¬ κ° μ μ)κ³Ό λ©μλ μ€λ²λΌμ΄λ©(μμλ°μ λ©μλλ₯Ό μ¬μ μ)μ΄ λ€νμ±μ μ£Όμ μμ΄λ€.
- μν : λ€νμ±μ κ°μ²΄μ μ’ λ₯μ μκ΄μμ΄ λμΌν μΈν°νμ΄μ€λ₯Ό μ¬μ©ν μ μκ² νμ¬, μ½λμ μ μ°μ±κ³Ό νμ₯μ±μ λμ¬μ€λ€. μλ₯Ό λ€μ΄, Animal ν΄λμ€μ λ©μλλ₯Ό Dogμ Catμμ κ°κ° μ€λ²λΌμ΄λ©ν μ μμΌλ©°, μ΄λ€μ λμΌν Animal νμ μΌλ‘ μ²λ¦¬ν μ μλ€.
6. μΆμν(Abstraction)
- μ μ: μΆμνλ κ°μ²΄μ 볡μ‘ν λ΄λΆ ꡬνμ κ°μΆκ³ , νμν λΆλΆλ§μ μΈλΆμ λ ΈμΆνλ κ²μ΄λ€. μΆμ ν΄λμ€μ μΈν°νμ΄μ€λ₯Ό ν΅ν΄ ꡬνν μ μλ€.
- μν : 볡μ‘ν μμ€ν μ λ¨μννκ³ , μ€μν κ°λ μλ§ μ§μ€ν μ μκ² νλ€. μλ₯Ό λ€μ΄, ShapeλΌλ μΆμ ν΄λμ€λ draw()λΌλ μΆμ λ©μλλ₯Ό κ°μ§ μ μμΌλ©°, Circleκ³Ό Rectangle ν΄λμ€μμ μ΄λ₯Ό ꡬννλλ‘ ν μ μλ€.
7. μΈν°νμ΄μ€(Interface)
- μ μ: μΈν°νμ΄μ€λ ν΄λμ€κ° ꡬνν΄μΌ νλ λ©μλμ μ§ν©μ΄λ€. μλ°μμ μΈν°νμ΄μ€λ λ€μ€ μμμ μ°ννκΈ° μν΄ μ¬μ©λλ€.
- μν : ν΄λμ€κ° λ°λμ ꡬνν΄μΌ νλ κ³μ½μ μ μνλ©°, μλ‘ λ€λ₯Έ ν΄λμ€κ° λμΌν λμμ νλλ‘ κ°μ ν μ μλ€. μλ₯Ό λ€μ΄, Flyable μΈν°νμ΄μ€λ fly() λ©μλλ₯Ό ν¬ν¨νκ³ , μ΄λ₯Ό Birdμ Airplane ν΄λμ€μμ ꡬνν μ μλ€.
μ΄λ¬ν OOP κ°λ λ€μ μλ° νλ‘κ·Έλλ°μ κ·Όκ°μ μ΄λ£¨λ©°, κ°μ²΄ μ§ν₯μ μΌλ‘ λ¬Έμ λ₯Ό λΆμνκ³ ν΄κ²°νλ λ° μ€μν μν μ νλ€.
'etc > java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
π«λλ€μ & Stream API (0) | 2024.08.21 |
---|---|
java Collection (0) | 2024.08.21 |