An automatic parking system, comprising: a sensor system measuring whether there is a parking section line and positions of surrounding vehicles; and a controller configured to: analyze data sensed by the sensor system to calculate parking areas around a subject vehicle by considering a length and a width of the subject vehicle; display plural parking areas determined as optimal parking areas for the driver; select an optimal parking area among the displayed optimal parking areas by the driver; calculate an entire range allowing generation of a moving path based on the selected parking area; determine at least two parking types available at a current position of the subject vehicle in the range allowing generation of a moving path, and provide moving path ranges for the at least two parking types based on a moving path estimated for each parking type, a length of the subject vehicle, a width of the subject vehicle, and a rotation angle of the subject vehicle; display the calculated moving path ranges for the driver; select a moving path range for the desired parking type by the driver; display the selected moving path range for the parking type that is selected among the moving path ranges provided for the at least two parking types, and the optimal parking area for the selected moving path range; automatically park the subject vehicle in the optimal parking area; wherein the sensor system is arranged to sense spaced distances between the surrounding vehicles positioned at a side of the subject vehicle in the optimal parking area, and the controller is arranged to compare a predetermined reference distance with the spaced distances to control the subject vehicle; wherein the controller is arranged to determine optimal parking areas by adding a length of the vehicle and a first room value and adding a width of the vehicle and a second value in order to obtain a length and a width of the optimal parking areas; and wherein the optimal parking areas have a width extending in a direction in which the surrounding vehicles are parked and a length extending in a direction perpendicular to the direction of the width. a sensor system measuring whether there is a parking section line and positions of surrounding vehicles; and a controller configured to: analyze data sensed by the sensor system to calculate parking areas around a subject vehicle by considering a length and a width of the subject vehicle; display plural parking areas determined as optimal parking areas for the driver; select an optimal parking area among the displayed optimal parking areas by the driver; calculate an entire range allowing generation of a moving path based on the selected parking area; determine at least two parking types available at a current position of the subject vehicle in the range allowing generation of a moving path, and provide moving path ranges for the at least two parking types based on a moving path estimated for each parking type, a length of the subject vehicle, a width of the subject vehicle, and a rotation angle of the subject vehicle; display the calculated moving path ranges for the driver; select a moving path range for the desired parking type by the driver; display the selected moving path range for the parking type that is selected among the moving path ranges provided for the at least two parking types, and the optimal parking area for the selected moving path range; automatically park the subject vehicle in the optimal parking area; analyze data sensed by the sensor system to calculate parking areas around a subject vehicle by considering a length and a width of the subject vehicle; display plural parking areas determined as optimal parking areas for the driver; select an optimal parking area among the displayed optimal parking areas by the driver; calculate an entire range allowing generation of a moving path based on the selected parking area; determine at least two parking types available at a current position of the subject vehicle in the range allowing generation of a moving path, and provide moving path ranges for the at least two parking types based on a moving path estimated for each parking type, a length of the subject vehicle, a width of the subject vehicle, and a rotation angle of the subject vehicle; display the calculated moving path ranges for the driver; select a moving path range for the desired parking type by the driver; display the selected moving path range for the parking type that is selected among the moving path ranges provided for the at least two parking types, and the optimal parking area for the selected moving path range; automatically park the subject vehicle in the optimal parking area; wherein the sensor system is arranged to sense spaced distances between the surrounding vehicles positioned at a side of the subject vehicle in the optimal parking area, and the controller is arranged to compare a predetermined reference distance with the spaced distances to control the subject vehicle; wherein the controller is arranged to determine optimal parking areas by adding a length of the vehicle and a first room value and adding a width of the vehicle and a second value in order to obtain a length and a width of the optimal parking areas; and wherein the optimal parking areas have a width extending in a direction in which the surrounding vehicles are parked and a length extending in a direction perpendicular to the direction of the width.