Yes,
static
is necessary, otherwise a copy of the constant would be stored in every class instance (which wastes memory), and it would no longer be a compile-time constant (so wouldn't work as an array size).