A method for estimating a state of charge, SOC, of a battery comprising a battery module assembly including battery modules (Mx) respectively including a plurality of battery cells (Cell_x1, Cell_x2,..., Cell_xn), comprising: repeatedly receiving a battery current (lb) from a current sensor and a plurality of cell voltages of the plurality of battery cells at an interval of a predetermined period (Ta); comparing the battery current and a threshold current (It), selecting a method for estimating a first state of charge or a method for estimating a second state of charge according to a comparison result; wherein the method for estimating a first state of charge is selected when the battery current is equal to or less than the threshold current, and the method for estimating a second state of charge is selected when the battery current is greater than the threshold current; estimating (S30, S40) a SOC of the cells according to the selected method for estimating a state of charge; and estimating the SOC of the battery module assembly by combining the estimated SOC of the battery cells; wherein when the method for estimating a first state of charge is selected, estimating a SOC of the cells includes estimating the SOC of a plurality of battery cells configuring a selected battery module by comparing the received cell voltages of the plurality of battery cells configuring the selected battery module and a lookup table, and estimating a current SOC of a plurality of battery cells configuring a non-selected battery module by substituting the current SOC with a previous SOC; wherein when the method for estimating a second state of charge is selected, estimating a SOC of the cells includes for each battery module calculating a representative value based on the cell voltages of the plurality of battery cells included in the respective battery modules, estimating a SOC corresponding to the representative value, calculating a SOC deviation between the estimated SOC corresponding to the representative value and the previous SOC corresponding to a previously calculated representative value, estimating the SOC of the cells by respectively adding the SOC deviation to each of previously estimated SOC of the plurality of battery cells. repeatedly receiving a battery current (lb) from a current sensor and a plurality of cell voltages of the plurality of battery cells at an interval of a predetermined period (Ta); comparing the battery current and a threshold current (It), selecting a method for estimating a first state of charge or a method for estimating a second state of charge according to a comparison result; wherein the method for estimating a first state of charge is selected when the battery current is equal to or less than the threshold current, and the method for estimating a second state of charge is selected when the battery current is greater than the threshold current; estimating (S30, S40) a SOC of the cells according to the selected method for estimating a state of charge; and estimating the SOC of the battery module assembly by combining the estimated SOC of the battery cells; wherein when the method for estimating a first state of charge is selected, estimating a SOC of the cells includes estimating the SOC of a plurality of battery cells configuring a selected battery module by comparing the received cell voltages of the plurality of battery cells configuring the selected battery module and a lookup table, and estimating a current SOC of a plurality of battery cells configuring a non-selected battery module by substituting the current SOC with a previous SOC; wherein when the method for estimating a second state of charge is selected, estimating a SOC of the cells includes for each battery module calculating a representative value based on the cell voltages of the plurality of battery cells included in the respective battery modules, estimating a SOC corresponding to the representative value, calculating a SOC deviation between the estimated SOC corresponding to the representative value and the previous SOC corresponding to a previously calculated representative value, estimating the SOC of the cells by respectively adding the SOC deviation to each of previously estimated SOC of the plurality of battery cells.