Study/Effective-Java
[item#22] 인터페이스는 타입을 정의하는 용도로만 사용해라
hongeeii
2023. 11. 30. 10:39
728x90
반응형
- 상수를 정의하는 용도로 인터페이스를 사용하지 말 것!
- 클래스 내부에서 사용할 상수는 내부 구현에 해당
- 내부 구현을 클래스의 API로 노출하는 행위가 된다.
- 클라이언트에게 혼란을 줌
- 상수를 정의하는 방법
- 특정 클래스나 인터페이스
- 열거형
- 인스턴스화 할 수 없는 유틸 클래스
위와 같은 패턴을 안티패턴이라고 함(namespace없이 사용하는..) -> 인터페이스의 원래의도를 오염시키기 때문에 권장 하지 않음
인터페이스의 가장 중요한 의도는 타입을 정의하는 것
상수를 정의하는 방법은 밑에와 같이 권장.
public final class PhysicalConstants {
private PhysicalConstants() {
}
static final double AVOAGDROS_NUMBER = 6.022_140_421;
}
728x90
반응형