이펙티브자바 아이템22
-
아이템22. 인터페이스는 타입을 정의하는 용도로만 사용하라책/이펙티브자바 2021. 8. 24. 11:50
클래스가 어떤 인터페이스를 구현한다 → 자신의 인스턴스로 무엇을 할 수 있는지를 클라이언트에 얘기해준다. 인터페이스는 오직 이 용도로만 사용해야 한다. 안티패턴 이 사용 용도에 맞지 않는 잘못된 예로 상수 인터페이스라는 것이 있다. public interface PhysicalConstants { static final double AVOGADROS_NUMBER = 6.022_140_857e23; static final double BOLTZMANN_CONSTANT = 1.380_648_52e-23; static final double ELECTRON_MASS = 9.109_383_56e-31; } 클래스 내부에서 사용하는 상수는 외부 인터페이스가 아니라 내부 구현에 해당하는데 상수 인터페이스를 구현하는..