x = x + 1
위와 같은 경우는 x 변수에 (x + 1)의 값을 집어넣는다는 의미이기 때문에, 변수의 이름이 중복되는 것과는 상관이 없다.
x의 값을 불러와서 1을 추가한 후, 그 값을 x에 저장하는 것이기 때문이다.
변수가 중복되면 안된다는 뜻은, 이미 선언된 변수와 같은 이름의 변수를 선언하면 안 된다는 뜻이다.
// C언어로 예를 들어보겠습니다.
#include <stdio.h>
int main() {
int a; // a라는 이름을 가진 변수 '선언'
a = 1; // a의 값을 1으로 초기화
int b = 2; // b라는 이름을 가진 변수 선언과 동시에 값을 2로 초기화
b = b + 1; // b에 b+1의 값인 3 저장
int b = 1; // b라는 변수를 선언하려 했으나, 이미 같은 이름을 가진 변수가 있기 때문에 오류 발생.
}
또 다른 예를 들어보자
x=2
burger_price = x
burger_price = x + 1
burger_price = x 라는 코드와 burger_price = x + 1 라는 코드는 비슷해보이지만,
전자의 경우 burger_price라는 변수를 새로 만든 후 x 값을 대입한 것이고, 후자의 경우 이미 존재하는 burger_price 변수에 x+1값을 대입한 것이다