Type(int val) {
this.val = val;
}
은 CUSTOM (0), CONNECT (1)... 와 같이 의미있는 이름(CUSTOM, CONNECT...) 외에 int 값을 지정하기 위해서 사용한 것입니다.
static Type valueOf(int i) 는 보통 public으로 많이 선언하는데 public이 생략된 것으로보아 어떤 클래스 내부에 enum이 구현된 듯하네요..
이 것은 int값으로 enum 값을 비교하기 위해 만든 것입니다.
아래와 같이 사용될 수 있겠죠..
int myType = 1;
if (Type.valueOf(myType) == CONNECT)
또는
switch(Type.valueOf(myType))
{
case CUSTOM:
....
break;
case CONNECT:
...
break;
default:
}