sumを定義するのにsumを使っていないから駄目で、sum = sum + iは定義じゃなくて単なる更新だから再帰的定義ではない。 int sum = 0とした後にどう更新しようが再帰的とは呼ばないんだよ。
百歩譲ってこれを再帰的定義と呼ぶのなら、当てはまる例が多すぎて何の価値もない概念になる。i++も再帰になるし int y = 1; int x = 2; x = y としたら偶々x = x/2をという処理になるからこれもお前の言う再帰的定義になるよな。 そんな馬鹿なもんにわざわざ名前を付ける意味も無いし、好き嫌いも語れんよな。