인터페이스는 타입을 정의하는 용도로만 사용하라
[Effective Java] 인터페이스는 타입을 정의하는 용도로만 사용하라
[Effective Java] 인터페이스는 타입을 정의하는 용도로만 사용하라
[Effective Java] 인터페이스는 구현하는 쪽을 생각해 설계하라
[Effective Java] 추상 클래스보다는 인터페이스를 우선하라
[Effective Java] 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라
[Effective Java] 상속보다는 컴포지션을 사용하라
[Effective Java] 변경 가능성을 최소화하라
[Effective Java] public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라
[Effective Java] 클래스와 멤버의 접근 권한을 최소화하라
[Effective Java] Comparable을 구현할지 고려하라
[Effective Java] clone 재정의는 주의해서 진행하라