A motor driving apparatus comprising: an inverter configured to supply driving power to a motor; a sensing unit configured to sense a DC voltage supplied to the inverter and a driving current supplied from the inverter to the motor; and a controller configured to compensate for an iron loss and a copper loss by calculating a loss of the motor based on the sensed DC voltage and driving current and to control the inverter to adjust the driving current based on the calculated loss of the motor, characterized in that: the controller is configured to compensate for the iron loss and the copper loss by calculating a temperature of the motor based on the sensed DC voltage and sensed driving current, an inductance of the motor based on the sensed DC voltage and sensed driving current, a torque of the motor based on the sensed DC voltage and sensed driving current, and a rotational speed of the motor based on the sensed driving current, and the controller is configured to control the inverter to adjust the driving current based on the calculated temperature, inductance, torque and rotational speed, wherein the controller is configured to control the inverter to adjust the driving current based on: an inverter command calculating formula, wherein the inverter command calculating formula is a formula to calculate a command using the temperature, the inductance, the torque and the rotational speed of the motor as input variables; or based on: an inverter command data table, in which a plurality of commands respectively corresponding to a plurality of discontinuous variables of the temperature, or phase resistance, the inductance, the torque, and the rotational speed of the motor are arranged in a look-up-table form. an inverter configured to supply driving power to a motor; a sensing unit configured to sense a DC voltage supplied to the inverter and a driving current supplied from the inverter to the motor; and a controller configured to compensate for an iron loss and a copper loss by calculating a loss of the motor based on the sensed DC voltage and driving current and to control the inverter to adjust the driving current based on the calculated loss of the motor, characterized in that: the controller is configured to compensate for the iron loss and the copper loss by calculating a temperature of the motor based on the sensed DC voltage and sensed driving current, an inductance of the motor based on the sensed DC voltage and sensed driving current, a torque of the motor based on the sensed DC voltage and sensed driving current, and a rotational speed of the motor based on the sensed driving current, and the controller is configured to control the inverter to adjust the driving current based on the calculated temperature, inductance, torque and rotational speed, wherein the controller is configured to control the inverter to adjust the driving current based on: an inverter command calculating formula, wherein the inverter command calculating formula is a formula to calculate a command using the temperature, the inductance, the torque and the rotational speed of the motor as input variables; or based on: an inverter command data table, in which a plurality of commands respectively corresponding to a plurality of discontinuous variables of the temperature, or phase resistance, the inductance, the torque, and the rotational speed of the motor are arranged in a look-up-table form. the controller is configured to compensate for the iron loss and the copper loss by calculating a temperature of the motor based on the sensed DC voltage and sensed driving current, an inductance of the motor based on the sensed DC voltage and sensed driving current, a torque of the motor based on the sensed DC voltage and sensed driving current, and a rotational speed of the motor based on the sensed driving current, and the controller is configured to control the inverter to adjust the driving current based on the calculated temperature, inductance, torque and rotational speed, wherein the controller is configured to control the inverter to adjust the driving current based on: an inverter command calculating formula, wherein the inverter command calculating formula is a formula to calculate a command using the temperature, the inductance, the torque and the rotational speed of the motor as input variables; or based on: an inverter command data table, in which a plurality of commands respectively corresponding to a plurality of discontinuous variables of the temperature, or phase resistance, the inductance, the torque, and the rotational speed of the motor are arranged in a look-up-table form. an inverter command calculating formula, wherein the inverter command calculating formula is a formula to calculate a command using the temperature, the inductance, the torque and the rotational speed of the motor as input variables; or based on: an inverter command data table, in which a plurality of commands respectively corresponding to a plurality of discontinuous variables of the temperature, or phase resistance, the inductance, the torque, and the rotational speed of the motor are arranged in a look-up-table form.