20201123 - java-squid/effective-java GitHub Wiki

회고

Sunny

  • 이번 챕터가 μ§€κΈˆκΉŒμ§€ ν•΄μ˜¨ ν”„λ‘œμ νŠΈλž‘ 관련이 μžˆμ–΄μ„œ, μ’€ 더 μ™€λ‹Ώμ•˜λ‹€.

Han

  • μƒμ†Œν•˜λ‹€.
  • λ‹€μŒμ£Ό μƒν™©λ΄μ„œ, μ˜€ν”„λΌμΈμœΌλ‘œ!
  • κ³΅λΆ€ν•˜λŠ” μ‹œκ°„ 배뢄을 쑰금 더 생각해봐야겠닀.
    • μ΄λ²ˆμ—λ„ 9μ‹œμ— λλ‚΄λŠ” 것을 λͺ©ν‘œλ‘œ ν•˜μž.

David

  • μ΄ˆλ°˜μ—λŠ” μ–΄λ ΅κ²Œ λŠκ»΄μ‘ŒλŠ”λ°, 보면 볼수둝 μ‰¬μ›Œμ‘ŒμŒ.
  • λ‚΄μš©μ μœΌλ‘œ μž¬λ°Œμ—ˆλ‹€.
    • μ œλ„€λ¦­μ— λŒ€ν•΄ μ“°κΈ°λ§Œ ν•˜λ‹€κ°€, μ œλŒ€λ‘œ 배움을 얻은 λŠλ‚Œ.
    • 아직 μ’€ λΉ„μ›ŒμžˆλŠ” λ‚΄μš©λ“€μ΄ μžˆμ§€λ§Œ, λ‹€λ₯Έ μ•„μ΄ν…œλ“€μ„ 읽으면 ꡬ멍이 μ±„μ›Œμ§ˆ λ“― ν•˜λ‹€.

Items

[μ•„μ΄ν…œ 26]

  • λ‹€μ–‘ν•œ μ†ŒμŠ€λ₯Ό μ°Έκ³ ν•˜μž. (μžλ°”λ΄„ 뿐만 μ•„λ‹ˆλΌ, λ‹€λ₯Έ μ†ŒμŠ€λ“€λ„ ν™•μΈν•˜μž)
  • λŸ°νƒ€μž„μ— μ œλ„€λ¦­ 정보가 μ§€μ›Œμ§€λŠ” 것은 Java 5 이전에, ν•˜μœ„ ν˜Έμ™„μ„±μ„ μœ μ§€ν•˜κΈ° μœ„ν•¨.
  • Void 객체

[μ•„μ΄ν…œ 27]

[μ•„μ΄ν…œ 28]

  • λ°°μ—΄ covariant (곡변)
    • 컴파일 νƒ€μž…μ—λŠ” ν†΅κ³Όν•˜μ§€λ§Œ, λŸ°νƒ€μž„μ—λŠ” 였λ₯˜κ°€ λ°œμƒν•  수 있음.
  • μ œλ„€λ¦­ inconvariant (λΆˆκ³΅λ³€)
    • μ œλ„€λ¦­μ„ μ‚¬μš©ν•˜κ²Œ 되면, 컴파일 νƒ€μž„μ— 검사λ₯Ό ν•΄μ„œ ν”„λ‘œκ·Έλž˜λ¨Έλ‘œ ν•˜μ—¬κΈˆ νƒ€μž…μ„ κ³ μΉ˜λ„λ‘ λ§Œλ“€μ–΄μ€€λ‹€.
    • 이런 속성 λ•Œλ¬Έμ—, μ œλ„€λ¦­μ„ μ‚¬μš©ν•˜λŠ” 게 μ’‹λ‹€
  • μ œλ„€λ¦­ λ°°μ—΄ 생성이 μ•ˆλ˜λŠ” 이유?
    • 배열은 곡변. λŸ°νƒ€μž„ μ‹œ 였λ₯˜ λ°œμƒν•  수 μžˆλ‹€.
    • κ·ΈλŸ¬λ―€λ‘œ μ•„μ˜ˆ μƒμ„±ν•˜μ§€ λͺ»ν•˜λ„둝 λ§Œλ“€μž.

[μ•„μ΄ν…œ 29]

  • Stack<int>, Stack<double> μ™œ λͺ»ν•˜κ²Œ λ§‰μ•„λ†¨μ„κΉŒ?
    • Java μ‹œμŠ€ν…œμ˜ 기본적인 문제라 μƒκ°λ˜μ§€λ§Œ....
    1. int, double type을 ꡬ뢄할 수 μ—†μ–΄μ„œ..?
    2. Genericμ΄λΌλŠ” 게 Object ν•˜μœ„λ§Œ νŒλ‹¨..?

[μ•„μ΄ν…œ 30]

  • static method의 경우, Type Parameterλ₯Ό Classμ—μ„œ κ°€μ Έμ˜€λŠ” 것.

λ‹€μŒμ£Ό...

μ•„μ΄ν…œ λ°°λΆ„

image

μŠ€ν„°λ”” μ€€λΉ„

image

⚠️ **GitHub.com Fallback** ⚠️