A swing control apparatus for a construction machine comprising: a start position estimation unit calculating or estimating an optimum stop starting position for stopping an upper swing structure in a stop position (or at a stop angle) set by a user using the set stop position (or the set stop angle); a stop target position calculation unit calculating a stop target position using a current position of the upper swing structure and the calculated or estimated optimum stop starting position when a user's stop command is input; and a swing motor position control unit controlling a position of a swing motor so that the upper swing structure is stopped in the calculated stop target position, characterized in that the start position estimation unit is any one of a means for calculating the optimum stop starting position based on a mass moment of inertia and a maximum torque of the upper swing structure of the construction machine and a means for calculating the optimum stop starting position through interpolation using a lookup table that defines a mapping relation between the stop position set by the user and the stop starting position, and the stop target position calculation unit is a means for calculating the stop target position that is determined as follows: 1) in the case where the current position is between A1 and A2, stop target position = A 2 − current possition / A 2 − A 1 ∗ E 2 − E 1 + E 1 where, A2 denotes the optimum stop starting position, A1 denotes the minimum value that is set by the user based on A2 or in consideration of a preset stop command range, E2 denotes the stop position (or angle) set by the user, and E1 denotes the minimum position that is set by the user based on E2 or in consideration of a preset stop position range, and 2) in the case where the current position is between A2 and A3, stop target position = A 3 − current possition / A 3 − A 2 ∗ E 3 − E 2 + E 2 where, A3 denotes the maximum value that is set by the user based on A2 or in consideration of a preset stop command range, E3 denotes the maximum position that is set by the user based on E2 or in consideration of a preset stop position range, A2 denotes the optimum stop starting position, and E2 denotes the stop position (or angle) set by the user. a start position estimation unit calculating or estimating an optimum stop starting position for stopping an upper swing structure in a stop position (or at a stop angle) set by a user using the set stop position (or the set stop angle); a stop target position calculation unit calculating a stop target position using a current position of the upper swing structure and the calculated or estimated optimum stop starting position when a user's stop command is input; and a swing motor position control unit controlling a position of a swing motor so that the upper swing structure is stopped in the calculated stop target position, characterized in that the start position estimation unit is any one of a means for calculating the optimum stop starting position based on a mass moment of inertia and a maximum torque of the upper swing structure of the construction machine and a means for calculating the optimum stop starting position through interpolation using a lookup table that defines a mapping relation between the stop position set by the user and the stop starting position, and the stop target position calculation unit is a means for calculating the stop target position that is determined as follows: 1) in the case where the current position is between A1 and A2, stop target position = A 2 − current possition / A 2 − A 1 ∗ E 2 − E 1 + E 1 where, A2 denotes the optimum stop starting position, A1 denotes the minimum value that is set by the user based on A2 or in consideration of a preset stop command range, E2 denotes the stop position (or angle) set by the user, and E1 denotes the minimum position that is set by the user based on E2 or in consideration of a preset stop position range, and 2) in the case where the current position is between A2 and A3, stop target position = A 3 − current possition / A 3 − A 2 ∗ E 3 − E 2 + E 2 where, A3 denotes the maximum value that is set by the user based on A2 or in consideration of a preset stop command range, E3 denotes the maximum position that is set by the user based on E2 or in consideration of a preset stop position range, A2 denotes the optimum stop starting position, and E2 denotes the stop position (or angle) set by the user. 1) in the case where the current position is between A1 and A2, stop target position = A 2 − current possition / A 2 − A 1 ∗ E 2 − E 1 + E 1 where, A2 denotes the optimum stop starting position, A1 denotes the minimum value that is set by the user based on A2 or in consideration of a preset stop command range, E2 denotes the stop position (or angle) set by the user, and E1 denotes the minimum position that is set by the user based on E2 or in consideration of a preset stop position range, and 2) in the case where the current position is between A2 and A3, stop target position = A 3 − current possition / A 3 − A 2 ∗ E 3 − E 2 + E 2 where, A3 denotes the maximum value that is set by the user based on A2 or in consideration of a preset stop command range, E3 denotes the maximum position that is set by the user based on E2 or in consideration of a preset stop position range, A2 denotes the optimum stop starting position, and E2 denotes the stop position (or angle) set by the user.