자율성 2

의인화 & 정보 전문가 패턴 & 리팩터링 _feat(우테코 - 로또)

우테코 2단계 level 2 로또 미션 중에 나는 매우 재미있는 경험을 했다. 이전에는 책에서 봤던 이론적인 내용을 말로는 표현할 수 있었지만, 나의 코드로는 적용하기가 어려웠다. 나는 무언가를 안다는 것은 아래 세가지 단계로 나뉜다고 생각한다. (내 생각이 아니라, 어디서 봤던 것 같기도 하고...) 개념을 알고 설명한다. 그 개념을 똑같이 사용할 수 있다. 그 개념을 다르게 활용할 수 있다. 나는 책에서 보았던 내용을 1단계 정도밖에 알지 못하는 것 같았다. 내가 읽었던 책은 조영호 저자의 객사오('객체지향의 사실과 오해') 와, '오브젝트 - 코드로 이해하는 객체지향 설계', 그리고 마틴 파울러 저자의 '리팩터링 2판' 이다. 의인화 - 객사오 이 책의 66, 67 페이지에서는 아래와 같은 내용이 ..

프로그래밍 패러다임과 객체, 설계 - 코드로 이해하는 객체지향 설계

지난 1년 간 스프링을 공부하고 안드로이드 앱 개발 프로젝트를 하면서 dependency(의존성)을 관리하는 것이 굉장히 중요하다는 이야기를 계속해서 접했고 공부했습니다. Spring boot 에서 bean 과 @Autowired 라는 어노테이션을 통해 의존성을 주입하고, 안드로이드 코트린에서는 hilt 라는 의존성 관리 라이브러리를 사용하여 의존성을 관리했습니다. 이 의존성은 결국 객체지향의 핵심일 것이다. 실무적인 관점에서 의존성을 공부하고 다루어 보니 객체지향을 더 깊게 공부해야 할 때가 온 것 같습니다. 그래서 '오브젝트 : 코드로 이해하는 객체지향 설계 - 조영호' 책을 읽으면서 정리해보고자 합니다. 책의 머릿말에서 이 책은 실무 경험이 있으며 설계에 대한 고민을 충분히 한 사람들이 읽으면 좋을..