enum을 쓰다가 상속이 안되는게 빡쳐가지고 전부 클래스로 바꾸는 중인데

대체가 안되는 기능이 있어서 질문 올려봄;;



//원래 쓰던 enum 코드가 이거고

enum TestButton {

numOne(1), numTwo(2), numThree(3);


private final int ID;

private TestButton (int id) {

ID = id;

}


public int getId () {

return ID;

}

}


//이게 클래스로 바꾼거임

class HallButton {


public static final HallButton[] hallButton = {

new HallButton(1), 

new HallButton(2),

new HallButton(3),

};


private final int ID;

private HallButton (int id) {

ID = id;

}

public int getId () {

return ID;

}

}



//이걸로 테스트를 해 봤는데

public static void main(String[] args) {

HallButton.hallButton[0] = HallButton.hallButton[1];

System.out.println(HallButton.values()[0].getTableNumber());

TestButton.values()[0] = TestButton.values()[1];

System.out.println(TestButton.values()[0].getTableNumber());

}


클래스로 배열 선언한거는 저렇게 하면 참조값이 바뀌어서 값도 바뀜;;

근데 enum은 안바뀜;;


배열도 참조값 못바꾸게 못함??