Skip to main content
Menu
두려워도 중요하다면 시도해봐야 하지 않겠는가
JavaScript
Nest JS
dev-settings
Java
Effective Java
Spring
etc
CSS
Dev etc
HTML
Network
OS
Infra
Database
Consultant
Blog
Study
GitHub
🌜
🌞
Search
두려워도 중요하다면 시도해봐야 하지 않겠는가
JavaScript
Nest JS
dev-settings
Java
Effective Java
Spring
etc
CSS
Dev etc
HTML
Network
OS
Infra
Database
Consultant
Blog
GitHub
Study
Menu
Effective Java
Ch1 들어가기
Ch2 객체 생성과 파괴
ch2 객체 생성과 파괴
1. 생성자 대신 정적 팩터리 메서드를 고려하라
2. 생성자에 매개변수가 많다면 빌더를 고려하라
3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
4. 인스턴스화를 막으려거든 private 생성자를 사용하라
5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라
6. 불필요한 객체 생성을 피하라
7. 다 쓴 객체 참조를 해제하라
8. finalizer 와 cleaner 사용을 피하라
9. try-finally 보다는 try-with-resources 를 사용하라
Ch3 모든 객체의 공통 메서드
ch3 모든 객체의 공통 메서드
10. equals 는 일반 규약을 지켜 재정의하라
11. equals 를 재정의하려거든 hashCode 도 재정의하라
12. toString 을 항상 재정의하라
13. clone 재정의는 주의해서 진행하라
14. Comparable 을 구현할지 고려하라
Ch4 클래스와 인터페이스
ch4 클래스와 인터페이스
15. 클래스와 멤버의 접근 권한을 최소화하라
16. public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라
17. 변경 가능성을 최소화하라
18. 상속보다는 컴포지션을 사용하라
19. 상속을 고려해 설계하고 문서화 하라, 그러지 않았다면 상속을 금지하라
20. 추상 클래스보다는 인터페이스를 우선하라
21. 인터페이스는 구현하는 쪽을 생각해 설계하라
22. 인터페이스는 타입을 정의하는 용도로만 사용하라
23. 태그 달린 클래스보다는 클래스 계층구조를 활용하라
24. 멤버 클래스는 되도록 static 으로 만들라
25. 톱레벨 클래스는 한 파일에 하나만 담으라
Ch5 제네릭 Generic
ch5 제네릭 Generic
26. 로타입 raw type 은 사용하지 말라
ITEM27
ITEM28
ITEM29
ITEM30
ITEM31
ITEM32
ITEM33 타입 안전 이종 컨테이너를 고려하라
Ch6 열거 타입과 애너테이션
열거 타입과 애너테이션
34. int 상수 대신 열거 타입을 사용하라
35. ordinal 메서드 대신 인스턴스 필드를 사용하라
36. 비트 필드 대신 EnumSet 을 사용하라
37. ordinal 인덱싱 대신 EnumMap 을 사용하라
38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라
39. 명명 패턴보다 애너테이션을 사용하라
40. @Override 애너테이션을 일관되게 사용하라
ITEM41
ch4 클래스와 인터페이스
클래스 / 인터페이스 → 추상화의 기본 단위
클래스와 인터페이스를 쓰기 편하고, 견고하며, 유연하게 만드는 방법
Last updated on
1/25/2022
Previous
« 14. Comparable 을 구현할지 고려하라
Next
15. 클래스와 멤버의 접근 권한을 최소화하라 »