728x90
반응형

 

먼저 최대한 매일 Daily로 공부할 수 있게 글을 게재할 예정이었으나 조금 바쁘다는 핑계로 무려 이틀이나 글을 못쓰게 되었네요. 죄송하다는 말씀 먼저 드리겠습니다.


그래도 공부는 매일했습니다:) 

1월 5일 6일 차례로 제가 공부했던 내용을 게재할 예정이오니 기대는 저버리지 않으셨으면 좋겠습니다.

 

 

 

오늘은 Computing Paradigm의 변천과 그에 기반해서 Java가 어떻게 발전했는지 알아보겠습니다.

 

1946년 ENIAC이라는 진공관을 이용한 컴퓨터가 세상에 나온 이 후 기계를 통해서 데이터를 연산,가공,정제하는 더 발전된 기술이 필요했습니다. 그런 Needs에 맞춰

정보(Data)를 가공하고 저장하는 정보학의 기본되는 기술인 Database Management System은 60년대 부터 발달하였습니다. 데이터를 저장하는 하드웨어 적인 스토리지뿐 아니라 데이터를 가공하는 DBMS는 그러한 이유에서 우리의 세상에 필요로 했던 것입니다.

 

미국 제록스(Xerox)사의 PaloAlto연구센터는 1972년 SmallTalk이라는 c++보다 더욱 객체지향적인 언어를 발표하고 1980년에는 SmallTalk-80이 상품화되어 나오게 됩니다. 그 영향을 받아 1980년대에는 객체지향프로그래밍 기법이 발전하였으며 이것은 우리가 공부하는 Java의 모태가 됩니다. 

 

1990년대 웹(World Wide Web)의 시대가 되면서 전 포스팅에 말씀드린 1995년 발표된 Java를 활용한 객체지향의 전성기가 열리게 됩니다. 2000년대에 적힌 Framework에 대한 이야기는 조금 후에 하기로 하겠습니다.

 

 

왜 객체지향이 필요한가?

 

 

 

먼저 객체지향의 사전적 의미입니다. 직역하자면 '객관적으로 존재하는 실체를 주된 것으로 삼는것' 이지만 Java를 겪어본 사람들은 이 사전적인 의미는 50%정도만 맞다고 할 것입니다. 왜냐하면 객관적으로 존재하지 않는 것들도 활용하기 위해 객체로 그 것을 위주로 하는 것은 맞지만 그것 하나가 필요한 것이 아니라 객체들의 상호작용을 통해서 프로그램이 완성되기 때문입니다. 

 

그래서 저는 객체지향이라는 의미를 상호작용할 수 있는 것을 객체라고하며 그것을 효율적으로 다시 사용할 수 있게 만드는 것이라고 정의하고 싶습니다.

 

 

 

 

 

 

 

 왼쪽에 위치한 Web은 MainFrame에서 서버를 이용한 구조로 발전했습니다. MainFrame구조는 저런 형태의 컴퓨터를 계속 연결해 가면서 서로 연결되는 구조였지만 전 세계를 하나로 묶기에는 많은 제한사항이 있었습니다. 

그래서 태어난 구조가 지금까지 사용되는 Web Server Structure입니다. 현재까지 저러한 구조를 사용하고 있으나 내부는 초기에 구현된 모델과는 많은 발전을 하였습니다.

 

 

객체지향의 필요성은 위의 그림을 PC, Server의 입장에서 살펴보면 되면 조금 이해가 쉽습니다. 우리가 인터넷을 이용하는것은 사용하는 디바이스를 통해 서버컴퓨터에 Protocol를 통해 연결하는 것입니다. 

그러면 서버컴퓨터는 사용자의 요청에 따라서 임무를 수행하게 되는데 서버가 제공할수 있는것은 정적인 HTML파일이 전부입니다. 그 이유는 디바이스와 컴퓨터간의 Protocol이 HTTP(Hyper Text Transfer Protocol)이기 때문입니다. 서버에서는 HTML의 제공뿐 아니라 DB에 접근한다든지 웹서버가 하지 못하는 일을 외부의 프로그램을 이용할 수 있게 해야 하는데 그것을 CGI(Common Gateway Interface)라고 합니다.

CGI응용프로그램에서는 많은 언어들이 사용됩니다.(EX. C, C++, Java, Perl 등) 

 

다음편에서는 WebServer의 언어가 java일 경우와 Java가 아닐경우를 비교하며 WebServer모델에 대해서 포스팅하도록 하겠습니다.

 


 

 

728x90
반응형

+ Recent posts