A reactive collision avoidance algorithm is proposed to enable safe autonomous flight in the presence of multiple dynamic obstacles. A position-controlled hexacopter equipped with a visual sensor obtaining obstacle information is considered as an Unmanned Aerial Vehicle (UAV) platform. The proposed method centers on the concept of bounding tube which intrinsically extends the static bounding box to incorporate forthcoming movement of the obstacles into the collision avoidance framework. The processing pipeline consists of separate components for each of the sequential tasks in obstacle sensing and tracking. Computation of a spherical bounding box for each obstacle is followed by discrete-time Kalman filtering for prediction of obstacle trajectory to detect potential collision. If the current course of UAV turns out highly likely to end in collision with any of the obstacles, the vehicle steers to an aiming point chosen from among the bundle of candidates produced by constructing a bounding tube that takes account of predicted obstacle motion. The bounding-tube-based aiming point generation extends seamlessly to the case with multiple moving obstacles through running in series with multi-obstacle track management that combines hierarchical clustering of sensory data points for obstacle identification and a simple geometric method for data association. Numerical simulations are conducted to verify the performance of the proposed collision avoidance algorithm.