The first
numberCount(currentNumber++); //Stack overflow exception
is equivalent to:
numberCount(currentNumber);
currentNumber += 1;
while the the second
numberCount(++currentNumber); //No stack overflow exception
is equivalent to
currentNumber += 1;
numberCount(currentNumber);
Need I explain more?