PHP 개발자로 지낸 지 4년, 한 언어에 국한되지 말고 다양한 언어를 체험해 보고 싶은 마음이 커질 때 즈음 현 직장에서 JAVA로 Server Engine을 개발해보지 않겠냐는 제안을 받았고 흔쾌히 수락하였습니다. 제 머릿속에 자리 잡고 있는 JAVA는 객체지향 언어의 표본 주자이지만, 다루기 까다롭고 스레드 폴, 병렬 실행 컬렉션 등 강력한 기능들은 존재하였지만 개발자로서 활용하기 어렵고 이해하기 힘든 부분이 많았기에 매우 까다로운 언어라고 생각이 들었습니다. JAVA 8 버전이 지나면서 개발자들이 사용하기 좋은 기능들을 더욱 강력하게 지원해준다는 소식을 듣고, 회사 근처에 있는 교보문고 광화문점으로 나들이 가서 너무 기본적인 문법만 가리키는 정석 느낌에서 벗어난 [모던 자바 인 액션]을 발견하였습..
객체지향 개발 과정에서 겪는 다양한 이슈를 종합해보면, 각기 다른 문제가 아니라 서로 비슷한 유형의 문제가 됩니다. 개발자들은 서로 자신의 경험을 바탕으로 그 비슷한 유형의 문제들을 각기 다르게 해결해나갔습니다. 이러한 비슷한 유형의 문제를 다르게 해결해 나갈 필요성이 없다고 생각한 GoF는 객체지향 설계 시 발생하는 문제점을 목록화하여 24가지 패턴으로 정리하였고 이를 오늘날 디자인 패턴(Design Patterns)이라고 부르게 되었고, 이는 디자인 패턴 24가지를 학습한다면 소프트웨어 설계에 있어서 공통된 문제들에 대하여 표준적인 해법과 직영 법으로 접근이 쉬워짐을 뜻 하기에 우리는 디자인 패턴을 배워고 이해해야 합니다. 지금 추천하는 책의 예제는 PHP 언어를 기반으로 이루어져 있기 때문에 Jav..