View

반응형

클래스가 어떤 인터페이스를 구현한다는 것은 자신의 인스턴스로 무엇을 할 수 있는지를 클라이언트에게 말해주는 것이다. 인터페이스는 오직 이 용도로만 사용해야 한다.

메서드 없이 상수 필드만 가득한 상수 인터페이스를 사용하지 말자. 상수 인터페이스는 인터페이스를 잘못 사용한 안티 패턴이다.

클래스 내부에서 사용하는 상수는 외부 인터페이스가 아니라 내부 구현에 해당한다. 따라서 상수 인터페이스를 구현하는 것은 내부 구현을 외부로 노출하는 행위이다. 이는 사용자에게 혼란을 주고 클라이언트 코드가 내부 구현에 해당하는 상수에 종속적이게 될 수 있다.

만약 상수를 공개하고 싶다면 인스턴스화할 수 없는 유틸리티 클래스를 통해 공개하자. 혹은 그 클래스나 인터페이스에 강하게 연관된 상수라면 그 클래스나 인터페이스 자체에 추가 해야 한다.

 

핵심 정리

인터페이스는 타입을 정의하는 용도로만 사용해야 한다. 상수 공개용 수단으로 사용하지 말자.

반응형
Share Link

인기 글

최신 글

전체 방문자

Today
Yesterday