μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- κΉνλΈ
- μλ£κ΅¬μ‘°
- spring data jpa
- λΆνΈμΊ ν
- HTML
- 컬λ μ νλ μμν¬
- CLIλͺ λ Ήμ΄
- μλ°
- μ λ€λ¦μ€
- Publishing
- νμ΄νλ‘κ·Έλλ°
- Spring Security
- testing
- CSS
- 그리λ
- λ°±μ€μκ³ λ¦¬μ¦
- κ³μ°κΈ°λ§λ€κΈ°
- λ°±μλ
- Spring Data JDBC
- μκ³ λ¦¬μ¦
- μΈν 리μ μ΄
- FilterChain
- java
- λ¬Έμμ΄λ€μ§κΈ°
- μ€νλ§
- fibonacci
- νκ³
- λ°μΌλ¦¬μ½λ©
- 첫κΈμλλ¬Έμ
- κ±°λμ κ³±
Archives
- Today
- Total
λμ λͺ¨μ
014 | Java - Polymorphism, Abstraction λ³Έλ¬Έ
π λ€νμ±
π€ λ€νμ±(Polymorphism)
λ보기
- νλμ κ°μ²΄κ° μ¬λ¬ κ°μ§ ννλ₯Ό κ°μ§ μ μλ λ₯λ ₯
- ν νμ μ μ°Έμ‘°λ³μλ‘ μ¬λ¬ κ°μ²΄ μ°Έμ‘° κ°λ₯γ
- ⇒ μμν΄λμ€ νμ μ μ°Έμ‘°λ³μλ‘ νμν΄λμ€ κ°μ²΄ μ°Έμ‘°
π€ μ°Έμ‘°λ³μμ νμ λ³ν
λ보기
- μ¬μ©ν μ μλ λ©€λ²μ κ°μλ₯Ό μ‘°μ νλ κ²
- νμ
λ³νμ μν 쑰건
- μλ‘ μμ κ΄κ³μ μλ ν΄λμ€λ€ μ¬μ΄μλ§ νμ λ³ν κ°λ₯
- μ
μΊμ€ν
- νμ ν΄λμ€ νμ -> μμ ν΄λμ€ νμ λ³ν
- νλ³ν μ°μ°μ(κ΄νΈ) μλ΅ κ°λ₯(κΈ°λ₯μ΄ μ€μ΄λ€μ΄μ)
- λ€μ΄μΊμ€ν
- μμ ν΄λμ€ νμ -> νμ ν΄λμ€ νμ λ³ν
- νλ³ν μ°μ°μ(κ΄νΈ) λ°λμ λͺ μ
π€ instanceof μ°μ°μ
λ보기
- μΊμ€ν
κ°λ₯ μ¬λΆ νλ¨
- κ°μ²΄λ₯Ό μ΄λ€ μμ±μλ‘ λ§λ€μλμ§
- ν΄λμ€ μ¬μ΄ μμκ΄κ³κ° μ‘΄μ¬νλμ§
- μΊμ€ν
(μ°Έμ‘°λ³μμ νμ
λ³ν) κ°λ₯ μ¬λΆλ₯Ό boolean νμ
μΌλ‘ νμΈ
- true: κ²μ¬ν νμ μΌλ‘ νμ λ³ν κ°λ₯
- false: νμ λ³ν λΆκ°λ₯
- μ£Όλ‘ μ‘°κ±΄λ¬Έμ μ¬μ©
μ°Έμ‘°λ³μ instanceof νμ
π μΆμν
π€ μΆμν(Abstraction)
λ보기
- μΆμ: 곡ν΅μ±κ³Ό λ³Έμ§μ λͺ¨μ μΆμΆνλ κ²
- μλ°μμμ μΆμ: κ°μ²΄μ 곡ν΅μ μΈ μμ±κ³Ό κΈ°λ₯μ μΆμΆνμ¬ μ μνλ κ²
- μΆμν: ν΄λμ€ κ° κ³΅ν΅μ μΈ μμ±μ μ°Ύμλ΄ μμ ν΄λμ€λ₯Ό λ§λ€μ΄ λ΄λ κ²
- μ₯μ
- μ½λ μ€λ³΅ μ κ±°
- ν¨μ¨μ μΈ ν΄λμ€ κ° κ΄κ³ μ€μ κ°λ₯
- μ μ§λ³΄μ μ©μ΄
- μΆμν ꡬν
- μΆμν΄λμ€ ⇒ λ―Έμμ± μ€κ³λ
- μΆμλ©μλλ₯Ό ν¬ν¨
- μΈν°νμ΄μ€ ⇒ λ°κ·Έλ¦Ό
- μΆμν΄λμ€ ⇒ λ―Έμμ± μ€κ³λ
π€ abstract μ μ΄μ
λ보기
- abstract: λ―Έμμ±
- ν΄λμ€μ λ©μλλ₯Ό νμ©νλ ν€μλλ‘ μ¬μ©λλ κΈ°ν μ μ΄μ
- abstract method: μΆμ(λ―Έμμ±) λ©μλ
- abstract class: μΆμ(λ―Έμμ±) ν΄λμ€
- μ΄λ€ ν΄λμ€μ μΆμ λ©μλκ° ν¬ν¨λμ΄ μλ κ²½μ° ν΄λΉ ν΄λμ€λ μλμΌλ‘ μΆμ ν΄λμ€κ° λ¨
π€ μΆμν΄λμ€
λ보기
- λ©μλ λ°λκ° μ μΈλμ΄ μμ§ μμ μΆμ λ©μλλ₯Ό ν¬ν¨νλ λ―Έμμ±μ€κ³λ
- κ°μ²΄ μμ± λΆκ°λ₯ ⇒ κ΅¬μ‘°κ° λ―Έμμ±μ΄μ΄μ
- λ―Έμμ± ν΄λμ€λ₯Ό λ§λλ μ΄μ
- μμ κ΄κ³μμ μλ‘μ΄ ν΄λμ€λ₯Ό μμ±νλλ° μ μ©
- λ©μλ λ΄μ©μ΄ μμλ°λ ν΄λμ€μ λ°λΌ λ¬λΌμ§κΈ° λλ¬Έμ⇒ μν© λ³νμ μ μ°ν λμ κ°λ₯
- μμ ν΄λμ€ → μ μΈλΆλ§ μμ± / ꡬν: μμλ°λ νμ ν΄λμ€
- μ€λ²λΌμ΄λ©μ ν΅ν΄ μΆμν΄λμ€λ‘λΆν° μμλ°μ μΆμ λ©μλμ λ΄μ©μ ꡬννμ¬ λ©μλλ₯Ό μμ±μν¬ μ μκ³ , μμ±λ ν΄λμ€λ₯Ό κΈ°λ°μΌλ‘ κ°μ²΄ μμ± κ°λ₯
- μμ κ΄κ³μμ μλ‘μ΄ ν΄λμ€λ₯Ό μμ±νλλ° μ μ©
π€ final ν€μλ
λ보기
- finalμ νλ, μ§μλ³μ, ν΄λμ€ μμ μμΉ κ°λ₯νλ©°, μμΉμ λ°λΌ κ·Έ μλ―Έκ° λ¬λΌμ§
- λ³κ²½/νμ₯ λΆκ°
π€ μΈν°νμ΄μ€
λ보기
- μΆμλ©μλμ μ§ν©
- μΆμ λ©μλμ μμλ§ λ©€λ²λ‘ κ°μ§ μ μκΈ° λλ¬Έμ μΆμν μ λκ° λ λμ
- μΆμν΄λμ€ ⇒ λ―Έμμ±μ€κ³λ / μΈν°νμ΄μ€ ⇒ λ°κ·Έλ¦Ό, κΉ‘ν΅()?
μΈν°νμ΄μ€ κΈ°λ³Έ ꡬ쑰
- ν€μλ: interface
- λ΄λΆμ λͺ¨λ νλκ° public static finalλ‘ μ μ (μλ΅ κ°λ₯)
- static, default λ©μλ μ΄μΈμ λͺ¨λ λ©μλκ° public abstractλ‘ μ μ (μλ΅ κ°λ₯)
μΈν°νμ΄μ€ ꡬν
- ν€μλ: implements
class ν΄λμ€λͺ
implements μΈν°νμ΄μ€λͺ
{
// μΈν°νμ΄μ€μ μ μλ λͺ¨λ μΆμλ©μλ ꡬν
}
- νΉμ μΈν°νμ΄μ€λ₯Ό ꡬνν ν΄λμ€λ ν΄λΉ μΈν°νμ΄μ€μ μ μλ λͺ¨λ μΆμ λ©μλλ₯Ό ꡬνν΄μΌ ν¨
- μΈν°νμ΄μ€λ₯Ό ꡬννλ€λ κ²: κ·Έ μΈν°νμ΄μ€κ° κ°μ§ λͺ¨λ μΆμ λ©μλλ€μ ν΄λΉ ν΄λμ€ λ΄μμ μ€λ²λΌμ΄λ©νμ¬ λ°λλ₯Ό μμ±νλ€λ κ²
μΈν°νμ΄μ€μ λ€μ€ ꡬν
- μΈν°νμ΄μ€λ μ¬λ¬ κ°μ μΈν°νμ΄μ€ ꡬν κ°λ₯
- but, μμμ μΈν°νμ΄μ€λ§ κ°λ₯, μ΅κ³ μ‘°μ μμ
class ExampleClass implements ExampleInterface1, ExampleInterface2, ExampleInterface3 { }
μΈν°νμ΄μ€μ μ₯μ
- μν κ³Ό ꡬνμ λΆλ¦¬μμΌ λ³΅μ‘ν ꡬν λ΄μ©/λ³κ²½κ³Ό μκ΄μμ΄ μ¬μ© κ°λ₯
π μ€λμ μκ° μ‘°κ°λͺ¨μ
- μ€μ νμ΅μκ°μ κ³΅λΆ μ΄μ¬ν μνλ κ² λ°μ±νμ! μ΄ν΄κ° μλλκΉ κ³μ λ΄μκ°νλκ±°λΌκ³ νκ³λμ§λ§μ!!!
- λ€νΈμν¬ μ°κ²°μ΄ κ³μ λΆμμ νλ€. κ°μ μ§ μ¬λ λκ°μ λΈλλ μ»΄ν¨ν°λ μ무 μ΄μ μλλ° μ λ΄κΊΌλ§ κ·Έλ΄κΉ... λλ κ°μ²΄μ§ν₯λλ¬Έμ νλλ??!ππ
- λΌμ΄λΈ μΈμ μμ κ°μ²΄μ§ν₯ μ¬νλ₯Ό 곡λΆνλ©΄μ λΉμ·ν μ°μ λ§μ΄ νκ±°λΌκ³ νμ ¨λλ°, κ·Έκ² κ³μ refreshλ₯Ό νκ² ν΄μ€λ€. λμ€μ λ°λ‘ μ 리ν΄λμ κ²μ λ³Ό λ λΉμ ν΄μ£Όμ κ²λ€ 보면 μ¬λ°κΈ°λ νκ³ ~ μ μ΄λ κ±°λΆκ°μ μμ΄μ§λ 건 κΈ°λΆνμΈκ° π€£
'SEB > TIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
016 | Java - Generics, Collection Framework (2) | 2022.07.15 |
---|---|
015 | Java (0) | 2022.07.13 |
013 | Java - Inheritance, Encapsulation (2) | 2022.07.11 |
012 | Java - constructor, inner class (0) | 2022.07.08 |
011 | Java - class, object, field, method, static, overloading (0) | 2022.07.07 |
Comments