synchronized에 대해서 배웠다. 두 개 이상의 쓰레드가 있고, 그 쓰레들이 같은 자원을 공유할 때, 혼선을 방지하기 위해 있는 개념이다. 미션을 구현하면서 처음에 현황판을 담은 List의 사이즈가 0이면 현황판이 동작하지 않게하려고 어떻게 조건에따라서 쓰레드를 일시정지 시킬수있는지 찾아보다가 synchronized을 알게 됐다. 결국에 내가 하려는 거랑 다른 개념이라서 삽질만 했다.
Getter, Setter 을 이용해서 스레드를 생성해서 만족스러웠다. 개념적으로만 알고있었는데 처음 적용해봐서인지 기뻤다. 첨에는 커피 종류별로 전부 클래스를 만들어서 스레드를 상속받았는데, 그냥 커피별로 커피의 상태를 매개변수로 받아서 스레드를 상속받은 한 클래스로 모두 해결할 수 있었다. 이것이 중복의 제거? 굿굿
클래스 다이어그램을 만들어놓으니까 머릿속에 어느정도 어떻게 기능들이 돌아갈지 잡혀서 내 코드를 볼때 헷갈리지가 않는다. 다음에도 이렇게 해봐야겠다.
어제 아무생각없이 짠 코드들은 다 지워버렸지만, 나름 클래스 다이어그램도 만들어보고 직접 구현도 해보고 재밌었다. 하지만 넘 힘들었다. 허리아프고 지쳤다. 근데 어떻게든 조금이라도 콘솔창에서 구현한 것을 보고싶어서 쉬지않고 계속 했다. 이러면 살빠지는데 ㅠㅠㅠ...계속 하고싶어도 일부러 좀 쉬면서 뭔가 열심히 주워먹어야겠다.