241017THU TIL
[자바] 상수, 변수, 리터럴
시험공부를 위해 자바 교재를 읽던 도중 한가지 의문이 생겼다. 교재에서 상수를 사용하는 이유는 리터럴이 사용되는 경우에는 여러번 사용해야하고 변경될 경우에 모든 곳을 수정해야하는 반면, 상수는 초기화를 선언한 한 곳만 수정하면 된다고 했다. 그런데 그건 리터럴도 마찬가지라는 생각이 들었다. 교재의 예시에서 리터럴은 int num1 = 10; <- 십진수 리터럴 과 같은 형식이여서 헷갈렸던 것 같다. 그래서 지티피에게 물어보았고 궁금증을 해결할 수 있었다.
// 리터럴을 사용하는 경우: int speed = 10; int maxSpeed = 10; if (speed > 10) { … } // 모든 10을 수정해야 함
// 상수를 사용하는 경우: final int MAX_SPEED = 10; if (speed > MAX_SPEED) { … } // 한 곳만 수정하면 됨
이때 여기서 speed는 리터럴이 아닌 변수였다. 상수가 아닌 변수를 사용하는 이유는 상수는 변경할 수 없지만 변수는 변경할 수 있어서이고 여기서 리터럴은 10 그 자체였다. 말 그대로 리터럴리 10 이였다.
추가적으로 파이썬은 True같이 무조건 첫글자가 대문자여야하는데 자바에서는 true같이 무조건 소문자여야한다고한다.