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, wherein 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 analyze the current value received from the current-sensing unit during the maintenance period, acceleration period, and a deceleration period to calculate the amount of laundry within a range from a second speed, at which some of the laundry starts to cling to a wall of the drum, to a third speed, at which the laundry rotates along with the drum in a state of clinging to the wall of the drum, characterized in that the controller is configured to sense unbalance in a maintenance period in which the motor is rotated at the third speed, and, when the sensed unbalance is equal to or higher than a predetermined level, transmits a control command to the motor-driving unit to decelerate the rotational speed of the motor to a first speed, which is lower than the second speed, to thus 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, wherein 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 analyze the current value received from the current-sensing unit during the maintenance period, acceleration period, and a deceleration period to calculate the amount of laundry within a range from a second speed, at which some of the laundry starts to cling to a wall of the drum, to a third speed, at which the laundry rotates along with the drum in a state of clinging to the wall of the drum, characterized in that the controller is configured to sense unbalance in a maintenance period in which the motor is rotated at the third speed, and, when the sensed unbalance is equal to or higher than a predetermined level, transmits a control command to the motor-driving unit to decelerate the rotational speed of the motor to a first speed, which is lower than the second speed, to thus disperse the laundry.