객체지향, 컬렉션프레임워크

6개월 남짓 학원에서 배운게 다 이긴 하지만.. 그리고 6개월 동안 누구보다 열심히 했다고 말할정도로 열심히 했다고 생각하지만.. 머리의 문제인지 원래 초급자들은 다 그런건진 잘 모르겠지만 프로젝트를 하면서 부족한 점이 많이 느껴졌다.

그 중에서도 제일 부족하다고 생각했던 부분은 ‘객체지향’과 ‘컬렉션프레임워크’였다(그리고 협업?ㅋㅋ.. 씁쓸). 객체지향언어를 공부했으면서 객체지향 쪽이 부족하다는 말이 약간 아이러니 하지만..

객체지향이라는 개념을 이해하고 그에 대한 인터페이스나 추상화를 앞서서 주장하고 프로젝트 인원들과 공유하고 프로젝트를 진행한다고 생각했지만 시간에 쫓기다보니 당장 보여지는 기능 위주로 프로그램을 구현하는 방향으로 진행이 자연스럽게 바꿨다.

프로그래밍을 하면서 그냥 돌아만 가는 프로그래밍이되고 있는것 같다라고 몇번 생각했던걸로 기억한다. 핑계긴 하지만 시간이 너무 부족했고 프로젝트를 같이 진행하는 인원들을 비전공자인 내가 설득할 자신도 없었고 정해진 일정에 맞추어 전체일정이 진행되어지다보니 그냥 넘어갈 수 밖에 없었다.

결국 필요없는 중복되는 코드도 덕지덕지 붙게 되고 인터페이스로 코드를 강제하지 못하다 보니 코드 수정을 할때는 실제적으로 구현한사람도 헤메는 모습을 보이게 됐다.

개발을 완료한 지금 난 뿌듯함도 있지만 한편 불안하기도 하다. 난 내가 짠 프로그램에 자부심이 없는게 너무 싫다. 그래서 프로젝트를 끝낸 후에 라도 혼자서라도 리펙토링을 통해 부족했다고 생각했던 부분을 고쳐나가기로 결심했고 가장 부족하다고 생각했던 부분인 객체지향쪽과 컬렉션프레임워크에 대해서 다시 공부하는 중이다.

그리고 오늘 책에서 객체지향 쪽과 컬렉션프레임워크 쪽을 속독으로 훑어봤다. 처음에 배울때는 몰랐던 부분이 눈에 들어오기 시작하고 책에서 무엇을 말하지는지 잘 몰랐던 부분이 하나씩 이해가 되기 시작한다.