마스터 클래스때, id를 long을 어떤 이유로 쓰냐는 질문에 멍떄렸다.
사실 long 타입으로 선언하면서도 int형으로도 충분하지 않나? 라는 생각이 들었었다.
long타입으로 하는 이유를 몇몇 멤버들이 말씀을하셨는데 이해가 되질 않아 와닿지 않았다. 그리고 user인스턴스를 map으로 받는 이유도 왜 필요한지 모르겠다.
list로 바꿔보자
흠.. 바꾸고 각 서비스별 테스트랑 localHost:8080페이지도 정상작동하는것을 확인했는데
인텔리제이가 자꾸 store을 final로 바꾸라고 추천한다.
list는 가변적으로 바뀌는걸로 아는데 왜 final로 바꾸라고 하지?
일단 바꿔보고 테스트를 돌려보자
테스트도 모두 통과했다. 뭐지?!
list를 final로 선언하는 의미가 내가 아는거랑 다른거일수도 있다.
정리해보자
final 상수
= 바꿀수 없는 상수를 뜻한다.final 객체
= final List<> store = new ArrayList<>();
의 경우, store는 ArrayList 값을 가지고 있는것이 아니다.final List<> store
은 final로 ArrayList 객체의 주소값 변경이 불가하게 해주는 의미이다.