일단 자바에서 #define 이 없다 보니 이를 대체해서 final static을 사용합니다.
그런데 아무 생각 없이 쓰다가 든 생각;;;;;;;;;;
어라? 이거 final 이고 static 이잖아? 라는 생각이 들더군요;;;
(뭔 헛소리 하는 거야? 라고 하시겠죠?)
그러니깐 final은 일종의 const를 만드는 녀석으로 알고 있고,
static은 만 그데로 정적 메모리 사용인데...
클래스 A에 final static int a = 1; 만들어 놓고...
클래스 B에 final static int a = 2; 을 만들어 놓아도...
서로의 값에 영향을 안준다는 것이 의아하더군요;;;
(컴파일 에러나 발생이 안되죠.)
일단 static을 사용했기 때문에 a라는 녀석은 같은 메모리 주소에 생성이 되었을 것 같은데...
막상 final로 값의 변화를 막았음에도 아무 문제 없이...
각각의 클래스에선 1과 2로 사용된다는 것이죠.
그래서 든 생각은.... 뭐... 뭐지? 이해가 안되................. ㅠㅠ
역시 뭐라도 하나 제대로 알고 있으면 좋은데...
C도 대충,,, JAVA는 더 대충 알고 있으니...
좀 더 자료 검색해서 찾아봐야 겠습니다.
덧. 경우에 따라선 본삭금 걸수 있습니다.