1. A flash memory device comprising: a memory cell array having memory cells arranged in rows and columns; a high-voltage generator configured to generate a high voltage supplied to source line of the memory cell array during a programming operation of the memory cell array; and a current detector configured to detect an amount of current supplied to the memory cell array, wherein the high-voltage generator operates to vary the high voltage in response to an amount of the current supplied to the memory cell array during the programming operation as detected by the current detector.