JAVA

[JAVA] 2. 자바의 다양한 영역 + 공부방법

조회 수 6807 추천 수 0 2014.04.06 21:39:39

1. 자바의 다양한 영역


자바의 모토가 One Writes,Run Anywhere 이 됬던 이유는 자바를 만들기 위해 연구하던 당시 목표가 소형기기에 탑재할 소프트웨어를 만들기 위해서였다.

하지만, 네트워크 환경이 발달하고 프로그램의 영역도 넓어지면서 자바는 다양한 영역에서 활용되고 있다.

그중에서 대표적인 몇가지를 소개하고자 한다.


■ 서버 프로그래밍

기업 내부에서 쓰이는 클라이언트-서버 프로그램을 개발하는데에도 많이 활용되고 있다.


■ 웹 프로그래밍

인터넷 익스플로러,크롬,파이어폭스 등 다양한 환경에서 한번 작성한 소스코드로 실행이 가능하기 때문에 웹에서도 많은 인기를 끌고있다.

웹을 개발하기 위해 자바를 공부한다는 것은 JSP를 공부하고자하는 것이다.

초창기에는 JSP 라는것은 없었고 서블릿으로 웹 프로그래밍을 했지만, 서블릿으로 웹 개발을 하기위해선 알아야할것도 너무 많고 어렵고 복잡하다는 이유때문에 JSP가 탄생되었다.

하지만 그렇다고 서블릿이 없어졌다고 착각하면 안된다.

서블릿을 없앤게 아니라 JSP로 작성한 소스코드를 웹 어플리케이션(WAS) 라는 곳에서 자동으로 서블릿으로 변환해준다.

물론, JSP 는 자바 문법 기반으로 작성한다.

따라서 자바 문법을 알면 JSP는 크게 어렵지 않다.


■ 모바일 어플리케이션 프로그래밍

안드로이드 기반 앱 개발에서도 자바의 영역은 확대된다.

이것 역시 자바 문법 기반이기 때문에 자바 문법을 알면 크게 어렵지 않다.




2. 자바 공부방법

인터넷 카페활동을 자주하면서 많이 보게되는 질문중들을 정리해보았다.


■ 자바 책 추천좀요

책의 선택은 지극히 주관적이여야만 한다.

보통 자바 기초서를 추천해달라고 하면 "자바의 정석" 또는 "난 정말 JAVA를 공부한 적이 없다구요" 를 추천한다.

두권 모두 읽어본 결과로 좋은책이다.

하지만, 책을 읽다가 어떤 챕터는 과연 저자가 어떤말을 하고싶은걸까 하고 이해가 안될때도 있다.

이말은 사람마다 편집상태,어투등의 요소에 따라서 안맞는 책도 있다는 것이다.

책 선택에 도움될만한 말을 하자면, 2010년 이전 책들은 모두 두껍다.. -_-;; 들고다니기 불편하다

하지만 그만큼 깊고 많은 내용을 다루고 있으며 위 두 책들도 이에 해당한다.

최근 나온 책들을 읽어봤는데 비교적 얇다 (자바의 신,자바가 보이는 그림책 등)

아무튼 요즘은 온라인 서점에서 책 미리보기가 지원되니 (1페이지에서 최대 20페이지까지 미리볼수 있다.) 앞부분만 한번 보고 이해가 된다면 바로 구매해도 좋다.


■ C언어처럼 코딩많이 하면 되나요?

C언어는 코딩을 많이 해볼수록 프로그래밍 능력이 향상된다.

하지만 자바는 코딩 비율과 생각 비율이 동일해야한다.

여기서 말하는 생각은, 객체지향적인 생각이다.

근데 이런 내용은 자바를 어느정도 공부하고 나서야 공감이 갈것이다.

따라서 부연설명은 하지 않겠다.


■ 자바 기초서 다읽었는데, 중급서 추천좀요

자바 중급서는 따로 없다.

기초서를 다읽었으면 자신이 원하는 분야의 커리큘럼대로 나아가면 된다.

하지만 자바에 대해서 더 깊숙히 알고싶다면, 자바의 메커니즘을 설명하는 책이나 문서를 읽으면 된다.

대표적으로 소설같은 자바 (일반 기초서에서 다루지 않는 내용까지 다룬다) 가 있다.

하지만 굵기도 굵고 기초서를 읽은상태에서 정독을 하는건 무리가 있다.

또 다른 대표적인 책이 "성공과 실패를 결정하는 1% 의 JAVA 프로그래밍 원리" 라는 책인데, 얇고 핵심적인 그리고 개발자가 알아두어야할 내용들을 담은 책이다. (현재는 절판된 상태인데 운좋게 건질수도 있다.)


■ 객체지향이 뭔가요?

자바는 객체지향 프로그래밍 언어(OOP)이다.

하지만 지금 객체지향 프로그래밍 언어에 대해서 고민할 필요가 없다.

어느정도 배우다 보면 자연스럽게 알수 있는 대목이고, 지금 고민해봤자 쓸모가 없다. 공식같이 외우고 있자.

자바를 공부하다 보면 이 객체지향 때문에 포기하고싶을 수도 있고, 오히려 객체지향에 대해서 더 알고싶어질수도 있다.

후자에 해당하시는 분들은 보통 다른 기초서를 읽으면서 객체지향에 대한 심도있는 이해를 요구한다.

하지만, 어느 기초서든 객체지향에 대한 설명을 100% 담지 않는다. 아니, 못하는게 맞다.

객체지향도 하나의 학문이고, 객체지향 전문가라는 직업도 있을만큼 볼륨이 큰 분야이다.

그럼 객체지향만 다루는 책을 구매해야하나?

객체지향 전문가가 될거라면 그러는게 좋을것같지만, 개발자로 일하려면 그런 책보단 기술책을 더 읽는게 좋다.

그리고 자바 프로그램을 개발하면서 필요한 객체지향 개념은 오라클 홈페이지에 가보면 모두 있다.

정 조금이라도 알고싶다면, 리팩토링에 관한 책을 한권 읽기바란다.


■ 영어, 수학 잘해야되나요?

결론은 잘해야된다.

영어는 API 문서,각종 원서를 읽기 위해서도 필요하지만 가장 큰 이유중 하나는 대기업에 들어가야하지 않겠는가?

나처럼 영어에 서툴러서 중소기업에서 일하기 싫으면 영어의 공부도 소홀해서는 안된다.

수학은 약간 애매하다.

한마디로 코더로 살거냐, 프로그래머로 살거냐의 기준은 수학에 있다.


profile

HUB

2014.04.06 22:44:55
*.222.20.180

자바에대한 다양한 영역을 알기쉽게 설명해 주셨군요 좋은내용 정말 감사합니다.!!


저 그런데 혹시 JSP 에서도 인터프리형식으로 코드를 읽고 실행하나요?

레온

2014.04.07 09:34:15
*.102.235.110

List of Articles
번호 제목 글쓴이 날짜 조회 수
9 [JAVA] 3. 변수와 상수 그리고 리터럴 [1] 레온 2014-04-07 4788
» [JAVA] 2. 자바의 다양한 영역 + 공부방법 [2] 레온 2014-04-06 6807
7 [JAVA] 1. 자바의 모토 [1] 레온 2014-04-06 2587
6 [안드로이드] 각종 intent 활용 HUB 2014-01-16 9166
5 한글 제외한 문자들 (정규식) HUB 2014-01-13 4935
4 html 태그 제거 함수 HUB 2014-01-13 4578
3 replaceLast 함수 정규식으로 코딩 HUB 2014-01-12 3313
2 개행문자 정규식 HUB 2014-01-09 6534
1 자바 정규표현식 문법 HUB 2013-12-17 2640

로그인

로그인폼

로그인 유지