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 (S2), at which some of the laundry starts to cling to a wall of the drum , to a third speed (S3), 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 (S3), 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 (S1), which is lower than the second speed (S2), 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 (S2), at which some of the laundry starts to cling to a wall of the drum , to a third speed (S3), 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 (S3), 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 (S1), which is lower than the second speed (S2), to thus disperse the laundry. <EOS>