2.에 해당하는 것은 다시 생각해보니 이미 강의에서 배운것 같긴 하네요. 이때동안 작성한 코드를 보면 컬렉션을 사용할 때는 실습의 편의상 단순한 컬렉션 구현체들을 사용했지만 실제로는 Concurrent 컬렉션 구현체를 사용해야 한다고 했던 것이 기억나네요. 또 싱글톤 빈을 구성할 때는 공유자원 문제가 없도록 설계해야하고 문제가 되는 것은 보통 필드에 명시된 것들인데 이것들은 보통 autowired로 주입된 싱글톤 빈 객체일 것 같구요. 메서드들에서 쓰이는 변수들이야 쓰레드에 스택에서 활용되는 내부변수이니 공유자원 문제와는 상관없을 것 같네요.
of은 한국에서 영어를 배울 때 보통 ~의로 해석하지만, 영어권에서 of이 가지는 느낌은 "떼어서 가져오다"같은 느낌입니다. off에서의 어원입니다. of은 시간이라는 수영장 안에서 특정한 값들을 가져와서 시간객체를 생성한다고 보시면 되고, get은 이미 있는 시간객체에서 원하는 무언가를 가져온다 라고 보시면 됩니다. of은 뭔가... 내가 무언가를 탁탁 가져와서 설정?하는 느낌이고 get은 이미 설정한 things에서 thing을 가져오는 느낌입니다. ears of human : 사람의 귀 -> 사람이라는 풀에서 귀를 가져와서 생성하는 느낌? 그래서 한국에서는 ~의와 잘 어울려서 그렇게 외운다? 이런 느낌입니다 이해가 어렵다면 get보단 of에 생성에 느낌이 강하다고 보시면 될 것 같아요. 둘다 가져오다라는 느낌은 동일하게 있으니까요