effective-java
CHAPTER 02. 객체의 생성과 삭제
- 규칙 2. 생성자 인자가 많을 때는 Builder 패턴 적용을 고려하라
- 규칙 4. 객체 생성을 막을 때는 private 생성자를 사용하라
- 규칙 6. 유효기간이 지난 객체 참조는 폐기하라
CHAPTER 03. 모든 객체의 공통 메서드
- 규칙 8. equals를 재정의할 때는 일반 규약을 따르라
- 규칙 9. equals를 재정의할때는반드시 hashCode도재정의하라
- 규칙 10. toString은 항상 재정의하라
- 규칙 11. clone을 재정의할 때는 신중하라
- 규칙 12. Comparable 구현을 고려하라
CHAPTER 04. 클래스와 인터페이스
- 규칙 13. 클래스와 멤버의 접근 권한은 최소화하라
- 규칙 14. public 클래스 안에는 public 필드를 두지 말고 접근자 메서드를 사용하라
- 규칙 15. 변경 가능성을 최소화하라
- 규칙 16. 계승하는 대신 구상하라
- 규칙 17. 계승을 위한 설계와 문서를 갖추거나, 그럴 수 없다면 계승을 금지하라
- 규칙 18. 추상클래스 대신 인터페이스를 사용하라
- 규칙 19. 인터페이스는 자료형을 정의할 때만 사용하라
- 규칙 20. 태그 달린 클래스 대신 클래스 계층을 활용하라
- 규칙 21. 전략을 표현하고 싶을 때는 함수 객체를 사용하라
- 규칙 22. 멤버 클래스는 가능하면 static으로 선언하라
CHAPTER 05. 제네릭
- 규칙 23. 새 코드에는 무인자 제네릭 자료형을 사용하지 마라
- 규칙 24. 무저검 경고(unchecked warning)를 제거하라
- 규칙 25. 배열 대신 리스트를 써라
- 규칙 26. 가능하면 제네릭 자료형으로 만들 것
CHAPTER 06. 열거형(enum)과 어노테이션
- 규칙 30. int 상수 대신 enum을 사용하라
- 규칙 32. 비트 필드(bit field) 대신 EnumSet을 사용하라.
- 규칙 33. ordinal을 배열 첨자로 사용하는 대신 EnumMap을 이용하라
- 규칙 34. 확장 가능한 enum을 만들어야 한다면 인터페이스를 이용하라
- 규칙 35. 작명대신 어노테이션을 사용하라
- 규칙 36. 어노테이션은 일관되게 사용하라
- 규칙 37. 자료형을 정의할 때 표식 인터페이스를 사용하라
CHAPTER 07. 메소드
생각해볼 측면 :
사용성
,안정성
,유연성
- 규칙 41. 오버라이딩 할 때는 주의하라
- 규칙 42. varargs는 신중히 사용하라
- 규칙 43. null 대신 빈 배열이나 컬렉션을 반환하라
- 규칙 44. 모든 API 요소에 문서화 주석을 달라