Item34 – int 상수 대신 열거 타입을 사용하라.

필요한 원소를 컴파일 타임에 알 수 있는 상수 집합이라면 열거타입을 사용해야한다. (가독성, 타입 안전성)


Item36 – 비트 필드 대신 EnumSet을 사용하라.

EnumSet 내부는 비트 백터로 구성되어있고 비트 필드 수준의 명료함과 성능을 제공한다.


Item39 - 명명 패턴보다 애너테이션을 사용하라.

명명패턴의 단점

  • 오타로 인한 점검 누락
  • 올바른 프로그램 요소에 사용된다는 보장을 해주지 못함
  • 프로그램 요소를 매개변수로 전달할 방법이 없다


Item40 - @Override 애너테이션을 일관되게 사용하라

예를 들어 equals를 재정의하려고 그대로 함수명을 사용하게 되면 overloading이 된다.

재정의법

@Override public Boolean equals(Bigram b) {
	return b.first == first && b.second == second;
}


출처 : EFFECTIVE JAVA 3/E 조슈아 블로크 지음