본문 바로가기

샤핀 일지

객체 지향 Java Android 테크트리.

객체지향 언어(java, 안드로이드) 공부하면서  몇개월 만에 전반적으로 느낀점 정리.
객체 지향언어를 익히는 데는 많은 시간을 투자해야된다는 것.
자바의 정석, 헤드퍼스트 자바와 같은 기초문법서를 익히고 나서도 갈 길은 멀고도 험함.
어플리케이션 개발은 기초 문법서에 있는 내용만으론 만들 수 없음.
왜냐.. 기본 문법서는 DOS창 화면같은 곳에서만 실행되는 텍스트 기반 기본 문법들에 대해서만 다뤄지기 때문임.
개발되는 대개의 어플들은 네트워크(서버, 클라이언트)를 통해 데이터를 주고 받는데, 개인적으로 서버측 언어(php, jsp)도 공부하고, 안드로이드를 황용해서 클라이언트 구현하기에도 범위가 굉장해진다.

그리고 언어만으로 개발이 진행되는 게 아니라 친한 파트너들과 결합이 된다는 점이다.
- 데이터 관리를 위한 DB,
- 웹 서버 크롤링등을 위한 정규 표현식,
- 그리고 서로 다른 언어간의 데이터 교환을 목적으로 하는 XML, JSON과 같은 것들.
적어도 이것들에 대한 선행지식은 있어야 된다. 그리고 자기가 다루는 언어(JAVA)에서 이 친구들을 쓰는 법도 알아야 한다. 

이것은 기본적인 범위에 해당한다.

 

그 다음에 해야 하는 것이 더 있다. 이미 개발일선의 얼굴 모를 개발자들의 노하우의 산물인 디자인패턴 공부다.
기초 문법서를 떼고 현업의 실무 코드를 보면.. 도통 잘 이해가지 않는 것들이 대단히 많다.
기초가 약한 내가 봐서 그런가...그런 코드들은 디자인 패턴을 공부해 보면 어느정도 알아 먹을 수 있게 되지 않을까 싶다.
선택이 아닌 필수코스라고 본다.

 

몇일 전 자주 가는 그룹에 헤드퍼스트 디자인 패턴, 클린코드, 이펙티브 Java 책을 두고,
책 볼 순서를 알려달라고 물어본 적이 있다.

디자인패턴, 클린코드 비슷하니 둘 중에 한권보고 그 다음권을 보는 게 좋겠다고 했다.
그리고 마지막 난이도가 이펙티브 자바라는 의견이 많았다.
이정도는 배우고 안드로이드 프로그래밍 개발을 하면 신입으로 가서 고생문이 좀 덜 하지 않을까 생각된다.

 

Java만 놓고 보자면 결론적으로 이렇다.

자바의 정석(or 헤드퍼스트 자바) -> 헤드퍼스트 디자인패턴, 클린코드 -> 이펙티브 Java ->  안드로이드.

 

끝.