블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total638,068
Today97
Yesterday116
프로그래밍 언어라고 하면 가장 먼저 떠올릴 수 있는것이 C언어이다. C언어는 프로그래밍 언어에 있어서 가장 기본이 되는 언어라고 할 수 있다. 우리가 사용하고 있는 윈도우나 리눅스 같은 언어들도 C언어를 기반으로 되어 있다. 분명 강력하고 좋은 언어이기는 하지만, 지금과 같은 인터넷 환경에서 사용하기에는 다소 무리가 있다.



JAVA는 컴퓨터에서 사용되지 않았다.
자바는 썬사의 제임스 고슬링과 다른 연구원들이 개발한 객체지향적 프로그래밍 언어이다. 1991년에 그린 프로젝트라는 이름으로 시작되었는데, 처음에는 컴퓨터 응용프로그램을 개발하기 위해 사용된것이 아니라 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발되었다. 하지만, 현재에 와서는 분산화 되어 있는 웹 어플리케이션 개발에 가장 많이 사용되고 있는 언어중의 하나이고, 그러한 특징 때문에 모바일 기기에도 많이 사용되고 있다.


JAVA는 어디서나 실행 가능하다.
자바는 어떠한 플랫폼에서나 이식이 가능하다. C언어의 경우는 소스코드를 생성하고, 그 소스코드를 사용하고자 하는 플랫폼에서 직점 컴파일 하여 실행을 하도록 한다. 하지만, JAVA는 이 사이에 바이트코드라는 특징적인 형태가 생성된다. 이것은 소스코드를 컴파일할때 생기게 되는데, 다양한 플랫폼에 있는 JVM에서 실행이 가능한 형태이다. CPU나 운영체제에 관계없이 어디서나 JVM을 설치할 수 있는 환경이라면 자바 프로그램을 실행하는 것이 가능한 것이다.


객체지향 프로그래밍?
자바를 이야기하면서 빼놓을 수 없는 것중 하나는 바로 객체지향이라는 것이다. 프로그래밍에 대해서 조금 해 봤다는 사람들이라면 많이 들어본 개념이겠지만, 그렇지 않은 사람들이라면 저건 뭐지? 라는 말이 절로 나올 것이다. 객체지향에 대해서 이야기하자면 매우 심도 있게 들어가야 하겠지만, 그렇게 많은것을 알고 있지 않기 때문에... 개략적으로 설명하자면, 다음과 같다. 만일 우리가 자동차를 한대 만들어야 한다고 하자. 우리가 결과로 만들고자 하는 자동차는 완성된 프로그램이기도 하다. 자동차를 만들기 위해서는 엔진, 바퀴, 창문, 핸들등 다양한 부품들이 들어가게 된다. 이런 각각의 부품들은 하나의 객채로 불려진다. 이 객체들은 다양한 모습을 갖게 된다. 유리창이 파란색일수도, 검정색일 수도 있고, 엔진이 좋은 엔진일수도 좋지 않은 엔진일 수도 있다. 엔진같은 경우는 직접 만들기 어렵기 때문에 다른 사람이 만들어 놓은것을 사용해야 하지만, 핸들 커버나 시트같이 간단한 것들은 직접 만들 수도 있다. 이렇게 필요와 목적에 따라 부품들을 따로 떼어놓고 생각하는 것이 객체지향의 개념이라고 할 수 있다.


왜 객체지향인가?
성능이 좋은 C언어를 뒤로 미뤄두면서까지 JAVA에 많은 관심을 갖는 이유는 무엇일까? 그것은 객체지향 언어가 갖는 결정적인 장점 때문이다. 객체지향 언어가 절차지향 언어에 비해서 갖을 수 있는 가장 결정적인 이유는 유지보수의 유용성이다. C언어에서는 포인터라는 개념을 통하여 절차지향적 언어의 한계를 조금이나마 극복하려 하였지만, 그 태생적인 한계를 이겨낼 수는 없었다. 하지만, 완벽한 절차지향적 언어인 자바는 클래스들이 각각의 기능을 갖는 모듈의 구성을 갖으면서 각 클래스의 재사용을 용이하게 만들었을 뿐 아니라, 목적을 갖는 클래스들의 유지와 보수가 용이하게끔 만들어졌다. C언어로 이루어진 자동차가 고장나서 수리를 해야 한다면 모든 자동차를 다 분해해 봐야 하지만, JAVA언어로 이루어진 자동차가 고장나서 수리를 해야한다면 그 고장난 부분만을 쉽게 알 수 있으며 그 부분만 떼어내어 고치는 것이 가능하다는 것이다.


웹 언어로의 JAVA.
자바가 가지고 있는 객체지향의 개념은 그 재사용성과, 유지보수의 용이성 때문에 웹의 언어로 각광 받고 있다. 특히나 자바스크립트, JSP, ajax 와 같이 직접적으로 자바의 클래스를 응용하는 언어들 뿐만 아니라, 객체지향의 개념은 갖는 수많은 언어들이 웹을 점령하고 있다. 앞으로의 컴퓨팅이 인터넷과 웹으로 귀속되어 가는 만큼, 웹언어의 대표주자격인 자바의 기본을 익히는 것은 다른 언어들을 익히는데 있어서 가장 선행되어야 할 일이기도 하다.

Posted by seanhigher

댓글을 달아 주세요

최근에 달린 댓글

글 보관함