본문 바로가기

java 프로그래밍

제1장 자바란??

자바란 1995년도에 썬 마이크로시스템즈 (Sun Microsystems)에서 자바(java)언어를 발표된 언어이고 현재 전세계 인기 언어 top 5위 안에 들어가는 굉장히 인기많고 쓰임이 많은 언어이다. 참고로 이 자바 라는 프로그램 언어가 나오게 된계기로 가면 1991년 앞에 언급한 썬 마이크로시스템즈 엔지니어들에 의해 고안된 오크(oak) 라는 언어에서 부터 시작되었다고 합니다.  이 오크라는 언어의 처음 목적은 가전제품에 사용될 목적이였으나 인터넷의 등장과 함께 인터넷에서 실행되는 프로그래밍 언어로 사용되었고 이름도 자바로 변경되었다고 합니다.




자바의 특징


이식성이 높은 언어이다. 이식성이 높은 언어란 서로다른 실행환경을 가진 시스템 간에 프로그램을 옮겨 실행할수있는것을 말하는데 예를들면 ms윈도우(Microsoft Windows)에서 실행하는 프로그램을 리눅스(Liux) 또는 유닉스(Unix)에서 실행할수 있다면 이식성이 높은것이고, 할수없다면 이식성이 낮은 언어라고 보면됩니다.



객체지향 언어


이말은 자바를 배우거나 접해본사람들은 모두들 다 알거같은 내용이지만 중요한 내용인만큼 한번더 보시죠 ㅋㅋㅋㅋㅋ

 객체지향 언어란 프로그램을 개발하는 기법으로 부품에 해당되는 물체(객체)를 먼저 만들고, 이 부품들을 하나씩 레고처럼 조립하면서 연결해서 전체프로그래밍을 만드는기법을 객체지향 프로그래밍 자바를 배우는 사람이라면 모두들 아는 (OOP: Object Oriented Programming)이라고 합니다 그래서 이 자바라는 언어에는 객체지향 언어가 가져야할 기능?? 인 캡슐화 ,상속,다형성 기능들을 모두 지원하고 있다.


함수적 스타일 코딩을 지원!!

자바 버전 8부터는 람다식(Lamda Expression)을 지원한다. 람다식을 사용하면 컬렉션 요소의 필터링, 매핑 , 집계 처리하기 쉬워지고, 코드가 매우 간결해 진다고하는데 사실 아직 그까지는 안배워서 아직은 모르겠다 하핳...



메모리를 자동으로 관리한다

C++은 메모리를 생성된 객체를 제거하기 위해 개발자가 직접 코드를 작성해야되는데 이작업을 성실하게 안하면 프로그램이 불완전해지고 다운현상을 겪게 된다고 한다. 만약 이런일이 일어난다 하면 참 뭐 같을거같다.

하지만 자바를 쓴다면 그런걱정할 필요없다 왜냐?? 자바에서는 자바가 알아서 사용이 완료되면 쓰레기 수집기(Garbage Colletor)을 실행시켜 자동적으로 사용하지 않는 객체를 제거해준다. 내 기준으로 생각한다면 메모리 관리가 듣기에는 좋아보이지만 학교에서 C언어를 조금 배웠지만 사실 제대로 공부를 한건 자바로 했기때문에 솔직히 이게 엄청 편한 기능인지는 아직 잘모르겠다.ㅎㅎ


그리고 자바는 프로그램을 바로 실행시킬수 없고 자바 가상 기계(JVM:Java Virtual Machine)라는 가상의 운영체제 역할을 하는 것을 이용해서 돌아가는 프로그램이다. 더 자세한 내용을 원하면 구글링을...추천합니다!



이외에도 멀드 스레드(Multi-Thread)를 쉽게 구현할수있고, 동적 로딩(Dynamic Loading)을 지원, 막강한 오픈소스 라이브러리가 풍부하다고 한다. 밑에 내용들은 어차피 뒤에서 다룰거기때문에 자세한 설명은 패스하고 넘어가도록 하겠습니다~~))