“Dynamic” just means the size of an arrayed variable can be changed during the life of the variable. But you need some set of rules when changing the size of a dynamic array, and the LRM only gives you the ability to change the size either with the new constructor, or as the result of an assignment from an array expression having a different size.
Queues and associative arrays have the ability to change their size one element at a time.