В данном случае имя первой переменной будет x, а чтобы получить поле x из объекта y, нужно обратиться к y.x, что и будет, по сути, полным именем поля, и оно отличается от x.
Klein Maximus, Я почему так усердно докапываюсь до этого вопроса: всё дело в том, что меня на собеседовании очень плотно валил человек этим вопросом. Я отвечал: "Это будет работать, потому что ключ объекта сам по себе не является переменной и обращаемся мы к нему иначе, нежели к переменной(То есть, как и вы пишите, что пути разные)". Но он хотел услышать что-то другое - я пытаюсь понять, что именно.