그런데 n이라는 매개변수명만 보면 저 n이 무엇을 의미하는지 한눈에 파악되지 않습니다. number의 약자인지 name의 약자인지 알 수 없어요. 변수명은 한눈에 알아보기 쉬운 이름을 사용하는 것이 좋습니다. 이 값이 name 값을 받아들이므로 n이라고 사용하는 것보다 name이라고 정확하게 명명해 사용하는 것이 좋습니다. name으로 한번 고쳐보겠습니다.
package javaStudy; public class Car{ // 형 + 필드명 String name; ---① int number; public Car(String name) { name = name; ---② } }
매개변수 n을 name으로 수정하고, ②에 있는 n도 name으로 수정합니다. 수정하고 나니 ②에서는 name이 연달아 나옵니다. 이 코드가 원래 의도한 바는 ①에서 정의한 필드 name에 지금 매개변수로 들어온 name을 넣겠다는 의미이죠. 그런데 이름이 똑같기 때문에 컴파일러는 헷갈립니다. 즉 "name = name;" 코드에 나온 두 name을 모두 매개변수라고 생각하게 됩니다.