java의 interface에는 변수들은(상태값) 보통 어떤 때에 쓰시나요~?

2013-01-10 11:41

실무적인 질문을 좀 드릴게요 ㅎㅎ;

아래 interface가 객체인가에 대한 글에서 덧글을 보면 interface에 상태값을 저장할 수가 있습니다. 많은 서적에서는 이에 대한 안내를 안하고 있고 몇몇 서적에서는 아예 쓰지 못한다고 되어있다보니 아예 interface에 상태값을 정의하지 않는 버릇에 의해 모르거나 써보니 되지만 하지말래서 안하는 경우가 있겠죠 ㅎㅎ;; 물론 쓰는 분들도 있겠지만 ^^; (혹시 이건 자바버전업이 되면서 가능해진건가요;;;)

우선 전 인터페이스에 상태값 저장을 아예 안쓰고 있습니다. 행위에(메소드) 대한 명세만 interface에서 할 뿐이지 절대 안하고 있는데, 혹시 상태값을 쓰고 계시는 분들은 어떤 경우에 쓰시나요 ``?

당장에 경우의 수가 있다면 User이라는 interface가 있고 이 interface는 상태값으로 회원의 등급표를 안내해줄 수 있을 것 같거든요. 쓰시는 분들은 어떻게 쓰시나요~? 아니면 절대 어떤일에도 안쓰시나요~?

추가질문 혹시 쓰신다면 interface를 class 작성에 대한 매뉴얼로 이해하고 코드를 작성하시나요? 저는 interface를 class 작성에 대한 규약으로 이해하고 코드를 작성하거든요. 위 질문을 적다보니 interface를 class 작성에 대한 매뉴얼로 이해해야겠다는 생각이 들더라구요;;;

5개의 의견 from SLiPP

2013-01-10 13:29

```interface TestA {

String STR="STR";

}

public class Test { public static void main(String[] args) { System.out.println(TestA.STR); TestA.STR="aaa"; TestA a=new TestA(){}; a.STR="bbb"; System.out.println(a.STR); } }```

결과가 어떨까??

org.springframework.core.io.support.ResourcePatternResolver org.springframework.web.context.request.RequestAttributes

위 예 를 보면 도움이 될듯..

2013-01-10 15:38

안쓰고, 안쓰는게 좋은 습관 이에요.

밑에 글에도 좀 장난을 쳐 놓긴 했는데, 사실 상수용이고, Enum이 Java에 들어오기 전에 대체품 비슷하게 쓰던거라, 쓸 수는 있으나, 웬만하면 안건드리는게 좋다. 정도로 생각하시면 됩니다.

2013-01-11 10:24

@Kenny 그렇군요.... 사실 Enum 을 무척 애용하는데 Enum의 인스턴스 변수들도 final static 이다보니 상수로 쓰는거엔 차이가 없다는 생각이 듭니다; 그런데 interface에 상수를 작성해놓으면 해당 interface를 상속받는 interface, 구현 클래스 작성시에 직관적으로 이 interface 에 제한될 수 있는 부분이 무엇이 있는지 알 수 있을 것 같아서요 ㅎㅎ; 우선 말씀하신대로 전혀 쓰고 있지는 않습니다 ㅎㅎ

의견 추가하기

연관태그

← 목록으로