Home - ksw6169/effective-java GitHub Wiki
Effective Java 3/E
- μμ΄ν 1. μμ±μ λμ μ μ ν©ν 리 λ©μλλ₯Ό κ³ λ €νλΌ.
- μμ΄ν 2. μμ±μμ 맀κ°λ³μκ° λ§λ€λ©΄ λΉλλ₯Ό κ³ λ €νλΌ.
- μμ΄ν 3. private μμ±μλ μ΄κ±° νμ μΌλ‘ μ±κΈν΄μμ 보μ¦νλΌ.
- μμ΄ν 4. μΈμ€ν΄μ€νλ₯Ό λ§μΌλ €κ±°λ private μμ±μλ₯Ό μ¬μ©νλΌ.
- μμ΄ν 5. μμμ μ§μ λͺ μνμ§ λ§κ³ μμ‘΄ κ°μ²΄ μ£Όμ μ μ¬μ©νλΌ.
- μμ΄ν 6. λΆνμν κ°μ²΄ μμ±μ νΌνλΌ.
- μμ΄ν 7. λ€ μ΄ κ°μ²΄ μ°Έμ‘°λ₯Ό ν΄μ νλΌ.
- μμ΄ν 8. finalizerμ cleaner μ¬μ©μ νΌνλΌ.
- μμ΄ν 9. try-finally 보λ€λ try-with-resourcesλ₯Ό μ¬μ©νλΌ.
- μμ΄ν 10. equalsλ μΌλ° κ·μ½μ μ§μΌ μ¬μ μνλΌ.
- μμ΄ν 11. equalsλ₯Ό μ¬μ μνλ €κ±°λ hashCodeλ μ¬μ μνλΌ.
- μμ΄ν 12. toStringμ νμ μ¬μ μνλΌ.
- μμ΄ν 13. clone μ¬μ μλ μ£Όμν΄μ μ§ννλΌ.
- μμ΄ν 14. Comparableμ ꡬνν μ§ κ³ λ €νλΌ.
- μμ΄ν 15. ν΄λμ€μ λ©€λ²μ μ κ·Ό κΆνμ μ΅μννλΌ.
- μμ΄ν 16. public ν΄λμ€μμλ public νλκ° μλ μ κ·Όμ λ©μλλ₯Ό μ¬μ©νλΌ.
- μμ΄ν 17. λ³κ²½ κ°λ₯μ±μ μ΅μννλΌ.
- μμ΄ν 18. μμ보λ€λ μ»΄ν¬μ§μ μ μ¬μ©νλΌ.
- μμ΄ν 19. μμμ κ³ λ €ν΄ μ€κ³νκ³ λ¬ΈμννλΌ. κ·Έλ¬μ§ μμλ€λ©΄ μμμ κΈμ§νλΌ.
- μμ΄ν 20. μΆμ ν΄λμ€λ³΄λ€λ μΈν°νμ΄μ€λ₯Ό μ°μ νλΌ.
- μμ΄ν 21. μΈν°νμ΄μ€λ ꡬννλ μͺ½μ μκ°ν΄ μ€κ³νλΌ.
- μμ΄ν 22. μΈν°νμ΄μ€λ νμ μ μ μνλ μ©λλ‘λ§ μ¬μ©νλΌ.
- μμ΄ν 23. νκ·Έ λ¬λ¦° ν΄λμ€λ³΄λ€λ ν΄λμ€ κ³μΈ΅κ΅¬μ‘°λ₯Ό νμ©νλΌ.
- μμ΄ν 24. λ©€λ² ν΄λμ€λ λλλ‘ staticμΌλ‘ λ§λ€λΌ.
- μμ΄ν 25. ν±λ 벨 ν΄λμ€λ ν νμΌμ νλλ§ λ΄μΌλΌ.
- μμ΄ν 26. λ‘ νμ μ μ¬μ©νμ§ λ§λΌ.
- μμ΄ν 27. λΉκ²μ¬ κ²½κ³ λ₯Ό μ κ±°νλΌ.
- μμ΄ν 28. λ°°μ΄λ³΄λ€λ 리μ€νΈλ₯Ό μ¬μ©νλΌ.
- μμ΄ν 29. μ΄μμ΄λ©΄ μ λ€λ¦ νμ μΌλ‘ λ§λ€λΌ.
- μμ΄ν 30. μ΄μμ΄λ©΄ μ λ€λ¦ λ©μλλ‘ λ§λ€λΌ.
- μμ΄ν 31. νμ μ μμΌλμΉ΄λλ₯Ό μ¬μ©ν΄ API μ μ°μ±μ λμ΄λΌ.
- μμ΄ν 32. μ λ€λ¦κ³Ό κ°λ³ μΈμλ₯Ό ν¨κ» μΈ λλ μ μ€νλΌ.
- μμ΄ν 33. λ€μ€ μμ μ΄μ’ 컨ν μ΄λλ₯Ό κ³ λ €νλΌ.
- μμ΄ν 34. int μμ λμ μ΄κ±° νμ μ μ¬μ©νλΌ.
- μμ΄ν 35. ordinal λ©μλ λμ μΈμ€ν΄μ€ νλλ₯Ό μ¬μ©νλΌ.
- μμ΄ν 36. λΉνΈ νλ λμ EnumSetμ μ¬μ©νλΌ.
- μμ΄ν 37. ordinal μΈλ±μ± λμ EnumMapμ μ¬μ©νλΌ.
- μμ΄ν 38. νμ₯ν μ μλ μ΄κ±° νμ μ΄ νμνλ©΄ μΈν°νμ΄μ€λ₯Ό μ¬μ©νλΌ.
- μμ΄ν 39. λͺ λͺ ν¨ν΄λ³΄λ€ μ΄λ Έν μ΄μ μ μ¬μ©νλΌ.
- μμ΄ν 40. @Override μ΄λ Έν μ΄μ μ μΌκ΄λκ² μ¬μ©νλΌ.
- μμ΄ν 41. μ μνλ €λ κ²μ΄ νμ μ΄λΌλ©΄ λ§μ»€ μΈν°νμ΄μ€λ₯Ό μ¬μ©νλΌ.
- μμ΄ν 42. μ΅λͺ ν΄λμ€λ³΄λ€λ λλ€λ₯Ό μ¬μ©νλΌ.
- μμ΄ν 43. λλ€λ³΄λ€λ λ©μλ μ°Έμ‘°λ₯Ό μ¬μ©νλΌ.
- μμ΄ν 44. νμ€ ν¨μν μΈν°νμ΄μ€λ₯Ό μ¬μ©νλΌ.
- μμ΄ν 45. μ€νΈλ¦Όμ μ£Όμν΄μ μ¬μ©νλΌ.
- μμ΄ν 46. μ€νΈλ¦Όμμλ λΆμμ© μλ ν¨μλ₯Ό μ¬μ©νλΌ.
- μμ΄ν 47. λ°ν νμ μΌλ‘λ μ€νΈλ¦Όλ³΄λ€ 컬λ μ μ΄ λ«λ€.
- μμ΄ν 48. μ€νΈλ¦Ό λ³λ ¬νλ μ£Όμν΄μ μ μ©νλΌ.
- μμ΄ν 49. 맀κ°λ³μκ° μ ν¨νμ§ κ²μ¬νλΌ.
- μμ΄ν 50. μ μμ λ°©μ΄μ 볡μ¬λ³Έμ λ§λ€λΌ.
- μμ΄ν 51. λ©μλ μκ·Έλμ²λ₯Ό μ μ€ν μ€κ³νλΌ.
- μμ΄ν 52. λ€μ€μ μ(overloading)λ μ μ€ν μ¬μ©νλΌ.
- μμ΄ν 53. κ°λ³μΈμλ μ μ€ν μ¬μ©νλΌ.
- μμ΄ν 54. nullμ΄ μλ, λΉ μ»¬λ μ μ΄λ λ°°μ΄μ λ°ννλΌ.
- μμ΄ν 55. μ΅μ λ λ°νμ μ μ€ν νλΌ.
- μμ΄ν 56. 곡κ°λ API μμμλ νμ λ¬Έμν μ£Όμμ μμ±νλΌ.
- μμ΄ν 61. λ°μ±λ κΈ°λ³Έ νμ 보λ€λ κΈ°λ³Έ νμ μ μ¬μ©νλΌ.
- μμ΄ν 62. λ€λ₯Έ νμ μ΄ μ μ νλ€λ©΄ λ¬Έμμ΄ μ¬μ©μ νΌνλΌ.
- μμ΄ν 63. λ¬Έμμ΄ μ°κ²°μ λ리λ μ£ΌμνλΌ.
- μμ΄ν 64. κ°μ²΄λ μΈν°νμ΄μ€λ₯Ό μ¬μ©ν΄ μ°Έμ‘°νλΌ.
- μμ΄ν 65. 리νλ μ 보λ€λ μΈν°νμ΄μ€λ₯Ό μ¬μ©νλΌ.
- μμ΄ν 66. λ€μ΄ν°λΈ λ©μλλ μ μ€ν μ¬μ©νλΌ.
- μμ΄ν 67. μ΅μ νλ μ μ€ν νλΌ.
- μμ΄ν 68. μΌλ°μ μΌλ‘ ν΅μ©λλ λͺ λͺ κ·μΉμ λ°λ₯΄λΌ.
- μμ΄ν 69. μμΈλ μ§μ§ μμΈ μν©μλ§ μ¬μ©νλΌ.
- μμ΄ν 70. 볡ꡬν μ μλ μν©μλ κ²μ¬ μμΈλ₯Ό, νλ‘κ·Έλλ° μ€λ₯μλ λ°νμ μμΈλ₯Ό μ¬μ©νλΌ.
- μμ΄ν 71. νμ μλ κ²μ¬ μμΈ μ¬μ©μ νΌνλΌ.
- μμ΄ν 72. νμ€ μμΈλ₯Ό μ¬μ©νλΌ.
- μμ΄ν 73. μΆμν μμ€μ λ§λ μμΈλ₯Ό λμ ΈλΌ.
- μμ΄ν 74. λ©μλκ° λμ§λ λͺ¨λ μμΈλ₯Ό λ¬ΈμννλΌ.
- μμ΄ν 75. μμΈμ μμΈ λ©μμ§μ μ€ν¨ κ΄λ ¨ μ 보λ₯Ό λ΄μΌλΌ.
- μμ΄ν 76. κ°λ₯ν ν μ€ν¨ μμμ μΌλ‘ λ§λ€λΌ.
- μμ΄ν 77. μμΈλ₯Ό 무μνμ§ λ§λΌ.
- μμ΄ν 78. 곡μ μ€μΈ κ°λ³ λ°μ΄ν°λ λκΈ°νν΄μ μ¬μ©νλΌ.
- μμ΄ν 79. κ³Όλν λκΈ°νλ νΌνλΌ.
- μμ΄ν 80. μ€λ λ보λ€λ μ€νμ, νμ€νΈ, μ€νΈλ¦Όμ μ μ©νλΌ.
- μμ΄ν 81. waitκ³Ό notify 보λ€λ λμμ± μ νΈλ¦¬ν°λ₯Ό μ μ©νλΌ.
- μμ΄ν 82. μ€λ λ μμ μ± μμ€μ λ¬ΈμννλΌ.
- μμ΄ν 83. μ§μ° μ΄κΈ°νλ μ μ€ν μ¬μ©νλΌ.
- μμ΄ν 84. νλ‘κ·Έλ¨μ λμμ μ€λ λ μ€μΌμ€λ¬μ κΈ°λμ§ λ§λΌ.
- μμ΄ν 85. μλ° μ§λ ¬νμ λμμ μ°ΎμΌλΌ.
- μμ΄ν 86. Serializableμ ꡬνν μ§λ μ μ€ν κ²°μ νλΌ.
- μμ΄ν 87. 컀μ€ν μ§λ ¬ν ννλ₯Ό κ³ λ €ν΄λ³΄λΌ.
- μμ΄ν 88. readObject λ©μλλ λ°©μ΄μ μΌλ‘ μμ±νλΌ.
- μμ΄ν 89. μΈμ€ν΄μ€ μλ₯Ό ν΅μ ν΄μΌ νλ€λ©΄ readResolve 보λ€λ μ΄κ±° νμ μ μ¬μ©νλΌ.
- μμ΄ν 90. μ§λ ¬νλ μΈμ€ν΄μ€ λμ μ§λ ¬ν νλ‘μ μ¬μ©μ κ²ν νλΌ.