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 the motor such that a rotational speed of the motor is maintained, accelerated, or decelerated; 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 and a counter-electromotive force, wherein the controller is configured to separate a sensing period during which an operation is performed into a first sensing period for laundry dispersion and a second sensing period for laundry-amount sensing based on the rotational speed of the motor, to determine whether the second sensing period is to be executed based on unbalance sensed in the first sensing period, and to calculate the amount of laundry based on data measured in the second sensing period, and wherein the controller is configured to control the motor-driving unit such that the rotational speed of the motor is accelerated, maintained, and decelerated in a stepwise manner in order to calculate the amount of laundry in the second sensing period; and in that the controller is further configured to separate a current value in the second sensing period, received from the current-sensing unit, into current values in a maintenance period, an acceleration period, and a deceleration period, which are separated based on the rotational speed of the motor, and to analyze the current value on the maintenance period, the acceleration period, and the deceleration period to calculate the amount of 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 the motor such that a rotational speed of the motor is maintained, accelerated, or decelerated; 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 and a counter-electromotive force, wherein the controller is configured to separate a sensing period during which an operation is performed into a first sensing period for laundry dispersion and a second sensing period for laundry-amount sensing based on the rotational speed of the motor, to determine whether the second sensing period is to be executed based on unbalance sensed in the first sensing period, and to calculate the amount of laundry based on data measured in the second sensing period, and wherein the controller is configured to control the motor-driving unit such that the rotational speed of the motor is accelerated, maintained, and decelerated in a stepwise manner in order to calculate the amount of laundry in the second sensing period; and