20201207 - java-squid/effective-java GitHub Wiki

회고

Sunny

  • μ•„μ΄ν…œ μ’€ λ§Žμ•˜μŒ.

Han

  • μž¬νƒ 계속 ν•˜κ³  있음
  • μ•„μ΄ν…œμ€ λ¬΄λ‚œν–ˆμŒ.

Henry

  • μž¬νƒ λ“€μ–΄κ°ˆ μ˜ˆμ •
  • μ•„μ΄ν…œ μ‘₯μ‘₯ μ½ν˜”λ‹€.

Jack

  • ν•œλ‹¬ 정도 μΌν–ˆμŒ.
  • Reflection에 λŒ€ν•œ κ΅¬ν˜„μ΄ μž¬λ°Œμ—ˆμŒ.

κ·Έ μ™Έ

  • μŠ€ν„°λ”” λ§ˆμ§€λ§‰ μ§„ν–‰ κ°€λŠ₯ μ—¬λΆ€
    • μ›”μš”μΌ 8μ‹œ λ°˜μ— μ‹œμž‘
  • μŠ€ν„°λ”” νšŒμ‹ μ—¬λΆ€
    • 2κΈ° μ°Έμ—¬ μ•ˆλ˜λ©΄, 예치금 λ°˜ν™˜
    • 2κΈ° μ°Έμ—¬κ°€ 되면, 예치금 μœ μ§€
  • μŠ€ν„°λ”” 2κΈ° μ°Έμ—¬ κ°€λŠ₯
    • Han, Jack, Sunny
  • μŠ€ν„°λ”” 2κΈ° μ°Έμ—¬ λΆˆκ°€λŠ₯
    • Henry
  • μŠ€ν„°λ”” 2κΈ° μ°Έμ—¬ λ―Έμ •
    • David
  • μŠ€ν„°λ”” 좩원 인원
    • 2λͺ….
    • 관심이 μžˆλŠ” λΆ„μ—κ²Œ λ¨Όμ € 이야기 해보고, μ—†μœΌλ©΄ 곡고
    • λŒ€μƒ 3λͺ…...있음.

Items

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

  • EnumSet, Set의 차이 에 μ•Œμ•„λ³΄λŠ” 게 μ’‹λ‹€.
  • 1개의 bitλ‹Ή ν•˜λ‚˜μ˜ Enum Field값을 ν‘œν˜„ν•  수 μžˆμœΌλ‹ˆκΉŒ, ν•˜λ‚˜μ˜ long (64bit) νš¨μœ¨μ μ΄λ‹€λΌκ³  λ³Ό 수 μžˆμ„λ“―.
  • Java 11κΉŒμ§€ Immutableν•œ EnumSet κ΅¬ν˜„λ˜μ§€ μ•Šμ•˜μŒ. Guavaμ—μ„œλŠ” 있음.

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

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

  • extends Enum<T>.. μ—μ„œλŠ” ν•œμ •λ˜μ–΄μžˆκΈ° λ•Œλ¬Έμ— EnumSet, EnumMap을 μ‚¬μš©ν•˜μ§€ λͺ»ν•œλ‹€.
  • Collection<? extends Coperation> 을 μ‚¬μš©ν•˜λ©΄, EnumSet,EnumMap을 μ‚¬μš©ν•  수 μžˆλ‹€. 즉 μœ μ—°ν•΄μ‘Œλ‹€.
    • κ·Έ λŒ€μ‹ μ—, λ°›λŠ”μͺ½μ„ Collection 으둜 λ°›λŠ” 것이 ν•„μš”ν•΄μ‘Œλ‹€.

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

  • Repository 에 λŒ€ν•΄ λͺ…λͺ…νŒ¨ν„΄, μ–΄λ…Έν…Œμ΄μ…˜μ„ λͺ¨λ‘ μ μš©ν•˜λŠ” μ΄μœ λŠ” κ·Έ μ„œλΉ„μŠ€ λ ˆμ΄μ–΄μ˜ 역할이 λͺ…ν™•ν•˜κ²Œ λ“€μ–΄λ‚˜κΈ° λ•Œλ¬Έ.
    • repo extendsλ₯Ό ν†΅ν•΄μ„œ ν•΄λ‹Ή 역할이 λͺ…확해짐.
  • Javaκ°€ μ œκ³΅ν•˜λŠ” μ–΄λ…Έν…Œμ΄μ…˜μ„ 잘 μ“°μž.
    • λͺ…λͺ…νŒ¨ν„΄μ„ μ“°λ©΄, κ°œλ°œμžκ°€ μ‹€μˆ˜ ν•  수 μžˆλ‹€.

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

  • IDE Intellij λ„ˆλ¬΄ λ§Žμ€ 것을 ν•΄μ£Όκ³  μžˆλ‹€.

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

  • 마컀 μΈν„°νŽ˜μ΄μŠ€, 마컀 μ—λ„ˆν…Œμ΄μ…˜ 차이
    • 마컀 μ—λ„ˆν…Œμ΄μ…˜μ˜ 예제...? ex) @Test
  • Marker, μ–΄λ–€ ν‘œμ‹œλ₯Ό ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•˜λŠ” 것.

마무리

  • 36~41 μˆ˜μš”μΌ(12/9)
  • 4개
  • λ‹€μŒμ£Ό μ‘°μž₯,μ€€λΉ„ μ¨λ‹ˆ