A washing machine comprising: a motor connected to a drum for rotating the drum; a motor-driving unit for supplying operating power to the motor to operate or stop the motor and to control a rotational speed of the motor; a current-sensing unit for measuring current of the motor during operation of the motor; and a controller for transmitting a control command for controlling the motor to the motor-driving unit in order to determine an amount of laundry contained in the drum and determining the amount of laundry based on a current value received from the current-sensing unit, whereby the motor-driving unit is configured to control the motor such that the rotational speed of the motor is repeatedly maintained, accelerated, and decelerated within a predetermined range of speed in response to the control command, and the controller is configured to control the rotational speed of the motor stepwise within a range from a first speed, which is a low speed at which the laundry does not move and forms a uniform shape, to a fourth speed, at which some of the laundry clings to a wall of the drum and some of the laundry moves in the drum, and configured to distinguish from each other the current value received from the current-sensing unit into current values in a maintenance period, an acceleration period, and a deceleration period, which are distinguished based on rotation of the motor, and configured to separately analyze the current value during the maintenance period, the acceleration period and the deceleration period to calculate the amount of laundry, wherein the controller is configured to control the rotational speed of the motor to disperse the laundry before controlling the rotational speed of the motor stepwise from the first speed, wherein the controller is configured to multiply averages of the current values in the maintenance periods, the acceleration periods, and the deceleration period by counter-electromotive force calculated in the deceleration period to calculate the amount of laundry, and wherein the motor-driving unit is configured to accelerate or decelerate the motor until the rotational speed of the motor reaches a second speed, and maintain the rotational speed of the motor at the second speed to disperse the laundry. a motor connected to a drum for rotating the drum; a motor-driving unit for supplying operating power to the motor to operate or stop the motor and to control a rotational speed of the motor; a current-sensing unit for measuring current of the motor during operation of the motor; and a controller for transmitting a control command for controlling the motor to the motor-driving unit in order to determine an amount of laundry contained in the drum and determining the amount of laundry based on a current value received from the current-sensing unit, whereby the motor-driving unit is configured to control the motor such that the rotational speed of the motor is repeatedly maintained, accelerated, and decelerated within a predetermined range of speed in response to the control command, and the controller is configured to control the rotational speed of the motor stepwise within a range from a first speed, which is a low speed at which the laundry does not move and forms a uniform shape, to a fourth speed, at which some of the laundry clings to a wall of the drum and some of the laundry moves in the drum, and configured to distinguish from each other the current value received from the current-sensing unit into current values in a maintenance period, an acceleration period, and a deceleration period, which are distinguished based on rotation of the motor, and configured to separately analyze the current value during the maintenance period, the acceleration period and the deceleration period to calculate the amount of laundry, wherein the controller is configured to control the rotational speed of the motor to disperse the laundry before controlling the rotational speed of the motor stepwise from the first speed, wherein the controller is configured to multiply averages of the current values in the maintenance periods, the acceleration periods, and the deceleration period by counter-electromotive force calculated in the deceleration period to calculate the amount of laundry, and wherein the motor-driving unit is configured to accelerate or decelerate the motor until the rotational speed of the motor reaches a second speed, and maintain the rotational speed of the motor at the second speed to disperse the laundry.