KKG
Programming
KKG
전체 방문자
였늘
μ–΄μ œ
  • 전체 κΈ€ 보기 (84)
    • 회고 (9)
    • Bootcamp (19)
    • Error Handling (2)
    • Kotlin (1)
    • Java (19)
      • Java (14)
      • Spring (1)
      • JPA (2)
      • Link (2)
    • Python (5)
    • μ•Œκ³ λ¦¬μ¦˜ (20)
      • μ•Œκ³ λ¦¬μ¦˜ (4)
      • λ°±μ€€ (14)
      • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ (1)
      • Link (1)
    • SQL (5)
      • SQL (1)
      • MySQL (4)
    • Web (2)
    • etc (1)

λΈ”λ‘œκ·Έ 메뉴

  • νƒœκ·Έ
  • λ°©λͺ…둝
  • κΉƒν—ˆλΈŒ

인기 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
KKG

Programming

Bootcamp

Java - λ‹€ν˜•μ„±, 좔상화

2022. 7. 12. 14:39

πŸ“‹ 회고

상속과 μΈν„°νŽ˜μ΄μŠ€κ°€ λ‹€ν˜•μ  ν‘œν˜„μ„ λΉ„μŠ·ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” 것 κ°™λ‹€. 그런데 μ–΄λ–€ μƒν™©μ—μ„œ μ–΄λ–€ κ±Έ 써야 λ˜λŠ”μ§€ 아직 μ™„λ²½ν•˜κ²Œ μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆλ‹€. λ‚΄ μƒκ°μ—λŠ” 닀쀑 상속이 λΆˆκ°€λŠ₯ν•œλ° μ—¬λŸ¬ 클래슀λ₯Ό 상속해야 ν•  λ•Œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” 것 κ°™λ‹€. μ’€ 더 찾아보고 곡뢀해봐야겠닀.

 

πŸ“š λ‹€ν˜•μ„± (Polymorphism)

  • ν•œ νƒ€μž…μ˜ μ°Έμ‘°λ³€μˆ˜λ₯Ό 톡해 μ—¬λŸ¬ νƒ€μž…μ˜ 객체λ₯Ό μ°Έμ‘°ν•  수 μžˆλ„λ‘ λ§Œλ“  것
  • μ˜€λ²„λ‘œλ”©, μ˜€λ²„λΌμ΄λ”©, μƒμ†μ΄λ‚˜ κ΅¬ν˜„μ„ ν†΅ν•œ λ‹€ν˜•μ  ν‘œν˜„

πŸ“š 좔상화 (Abstraction)

κΈ°μ‘΄ ν΄λž˜μŠ€λ“€μ˜ 곡톡적인 μš”μ†Œλ“€μ„ λ½‘μ•„μ„œ μƒμœ„ 클래슀λ₯Ό λ§Œλ“€μ–΄ λ‚΄λŠ” 것

πŸ“˜ μΈν„°νŽ˜μ΄μŠ€

μΈν„°νŽ˜μ΄μŠ€λŠ” 좔상 λ©”μ„œλ“œμ™€ μƒμˆ˜λ§Œμ„ λ©€λ²„λ‘œ κ°€μ§ˆ 수 μžˆλ‹€.

public interface InterfaceEx {
    public static final int rock =  1; // μΈν„°νŽ˜μ΄μŠ€ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ μ •μ˜
    final int scissors = 2; // public static μƒλž΅
    static int paper = 3; // public & final μƒλž΅

    public abstract String getPlayingNum();
    void call(); //public abstract μƒλž΅ 
}
  • λ‚΄λΆ€μ˜ λͺ¨λ“  ν•„λ“œκ°€ public static final둜 μ •μ˜λ˜μ–΄μ•Ό ν•œλ‹€.
  • λͺ¨λ“  λ©”μ„œλ“œκ°€ public abstract둜 μ •μ˜λ˜μ–΄μ•Ό ν•œλ‹€.
  • μ œμ–΄μž 일뢀뢄 λ˜λŠ” μ „λΆ€ μƒλž΅ κ°€λŠ₯ν•˜λ‹€.
class ExampleClass implements ExampleInterface1, ExampleInterface2, ExampleInterface3 { 
				... μƒλž΅ ...
}
  • 상속과 달리 닀쀑적 κ΅¬ν˜„μ΄ κ°€λŠ₯ν•˜λ‹€.

πŸ“˜ μ‚¬μš© μ˜λ„

포함 관계

  • ~이닀

상속

  • ~을 κ°€μ§€κ³  μžˆλ‹€
  • 같은 μƒμœ„ 클래슀λ₯Ό μƒμ†ν•˜λŠ”λ° 같은 κΈ°λŠ₯이 ν•„μš”ν•œ 경우

μΈν„°νŽ˜μ΄μŠ€

  • ~을 ν•  수 μžˆλ‹€
  • λ‹€λ₯Έ μƒμœ„ 클래슀λ₯Ό μƒμ†ν•˜λŠ”λ° 같은 κΈ°λŠ₯이 ν•„μš”ν•œ 경우

πŸ“Œ μ°Έκ³  링크

좔상 클래슀 VS μΈν„°νŽ˜μ΄μŠ€

    'Bootcamp' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • Java - μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬
    • Java - μ œλ„€λ¦­
    • Java - 객체지ν–₯, 상속, μΊ‘μŠν™”
    • Java - this(), λ‚΄λΆ€ 클래슀

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”