웨지의 개발 블로그
/
Posts
/
Effective Java 3/E 정리
Search
Share
☕
Effective Java 3/E 정리
작성일
2021/12/13 06:00
수정일
카테고리
자바
태그
개발서
이펙티브 자바 정리
Item 1. 생성자 대신 팩토리 메서드를 고려하라
Item 2. 생성자에 매개변수가 많다면 빌더를 고려하라
Item 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
item 4. 인스턴스화를 막으려거든 private 생성자를 사용하라 Enforce noninstantiability with a private constuctor
item 5. 자원을 직접 명시하지 말고 의존객체 주입을 사용하라 Prefer dependency injection to hardwiring resources
item 6. 불필요한 객체 생성을 피해라 Avoid creating unnecessary objects
item 7. 다 쓴 객체 참조를 해제하라 Eleminate obsolete object references
item 8. finalizer와 cleaner 사용을 피하라 Avoid finalizers and cleaners
item 9. try-finally보다 try-with-resources를 사용하라 Prefer try-with-resources to try-finally
item 10. equals는 일반 규약을 지켜 재정의하라 Obey the general contract when overriding equals
item 11. equals를 재정의하려거든 hashCode도 재정의하라 Always override hashCode when you override equals
item 12. 항상 toString을 재정의하라 Always override toString
item 13. Clone 재정의는 주의해서 진행하라 Override clone judiciously
item 14. Comparable을 구현할지 고려하라 Consider Implementing Comparable
item 15. 클래스와 멤버 접근 권한을 최소화하라 Minimize the accessibility of classes and members
item 16. public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라 In public classes, use accessor methods, not public fields
item 17. 변경 가능성을 최소화하라 minimize mutablity
item 18. 상속보다는 컴포지션을 사용하라 Favor composition over inheritance
item 19. 상속을 고려해 설계하고 문서화해라. 그러지 않았다면 상속을 금지해라 Design and document for inheritance or else prohibit it
item 20. 추상 클래스보다는 인터페이스를 우선하라 Prefer interfaces to abstract classes
item 21. 인터페이스는 구현하는 쪽을 생각해 설계하라 Design interfaces for posterity
item 22. 인터페이스는 타입을 정의하는 용도로만 사용하라 Use interfaces only to define types
item 23. 태그달린 클래스보다는 클래스 계층구조를 활용하라 Prefer class hierarchies to tagged classes
item 24. 멤버 클래스는 되도록 static으로 만들라
item 25. 톱레벨 클래스는 한 파일에 하나만 담으라
item 26. 로 타입은 사용하지 말라