자바에 대해 그냥 상식 수준으로 가볍게 읽어보자.
당연히 이해가 안가는게 당연하다. 그냥 읽어 보고 추후에 자바를 다 배운 후 다시 읽어보면 쉽게 이해가 갈 것이다. 물론 나도 아직 완벽히 이해 되지 않았다!
자바의 탄생
1991년경 썬 마이크로시스템즈에서 각각의 가전제품을 제어하는 통합된 언어를 만들려고 한 프로젝트에서 나온 ''오크(Oak)'라는 새로운 언어였지만, 해당 프로젝트는 실패 하였다.
그 이후 웹(WWW)이라는 문화가 발전하자 썬 마이크로시스템즈에서 오크 언어의 공식 명칭을 자바로 바뀐 뒤 다른 컴퓨터 사이에서 호환성과 이식성이 뛰어난 언어로 발전시켰다. 그것이 지금의 자바이다.
자바는 객체 지향 프로그램밍 Object-Oriented Programming
프로그램 설계에 대한 개념이라고 생각하면 된다.
초기 프로그래밍 방식은 절차지향 프로그래밍(기능 중심)이었다.
절차지향 프로그래밍은 말 그대로, 프로그래밍이 된 순서대로 처리한 다음, 그 결과를 내는 것을 말한다. 하여 원하는 결과를 내기 위해서는 어떤 순서대로 프로그램을 써 내려가는 것이 중요하다. 하지만 프로그램이 점차 복잡해 짐에 따라 순서대로 코드를 작성해서 프로그램을 하는 것이 문제가 되게 되었다.
코드가 너무 길어지기도 하고, 특정 코드가 어디서 부터 어디까지인지 프로그램을 만들 개발자 본인도 이해가 어려운 수준이 되었다. 기능을 서로 조립할 수 있는 개념이 없어서 더욱 복잡했다.
여러 문제를 해결 할 수 있도록 등장한 것이 객체 지향 프로그래밍.
작은 문제를 해결할 수 있는 객체(Object)를 만들고, 이것들을 조립해서 큰 문제를 해결 할 수 있도록 하는 해결방법을 사용한다. 객체를 재사용하고, 재정의해서 사용하면서 전에 비해 간단하게 개발이 가능한 것이다.
객체지향 프로그래밍으로 인해서 나타나는 특징은 캡슐화, 상속, 다형성이 있다.
이건 추후에 자바를 어느정도 배우고 다시 이야기 할 예정이다.
자바는 운영체제 호환 가능한 언어
보통 프로그램을 만들면, 운영체제(위도우, 리눅스 등등)에 따라 프로그램이 호환되지 않는다. 하지만 자바는 한번 작성하면 어느 곳에서도 사용이 가능하다.
자바 파일을 만들고 나서, 컴파일 하면 자바 가상 머신(JVM, java Virtual Machine)을 통해 모든 운영체제에서 사용이 가능하다.
** [참고] JVM(자바 가상 머신, Java Virtual Machine) **
자바 언어로 만든 코드 파일은 운영체제에서 직접 이해되는 것이 아니기 때문에 컴파일을 해서 이해 할 수 있도록 만들어 줘야 한다. java 파일을 컴파일 하면 자바의 실행 파일인 class파일이 생성된다. class 파일은 실행 시키는 것이 JVM이다. 이것으로 인해 어려 운영체제 에서 수정없이 사용 가능하다.
자바는 필요없는 메모리를 자동 소멸 시켜주는 언어
자바에는 가비지 컬렉션(Garbage Collection)이 있다. C/C++ 같은 언어의 경우 메모리에 무언가 생성하면, 소멸되지 않는다. 직접 삭제를 해 줘야 한다. 그렇다 보니 이러한 메모리 정리를 개발자가 직접 하지 않으면 메모리 부족으로 프로그램이 다운 되는 상황이 발생하기도 한다.
하지만, 자바는 참조되지 않는 값을 가진 메모리(쓸모 없는 값)를 자동으로 소멸시켜 준다. 그렇다 보니 편하게 사용 가능하다.
오늘은 자바가 무엇인지 간단하게 알아봤다.
이걸 한번에 이해 한다면, 이미 프로그램을 알고 있던 사람일 것이다. 이해가 되지 않는 것은 당연하고, 프로그래밍에 대해 배우다 보면 자연스럽게 이해가 될 것이니 그냥 읽어봤다는 것에 만족하자!
'Java | spring > Java Basic' 카테고리의 다른 글
자바 자료형 : 기본자료형 (전체) (0) | 2019.01.07 |
---|---|
자바 기본 : 식별자/변수/클래스 규칙 (0) | 2019.01.07 |
CMD창 사용법 & java 파일 실행 (0) | 2019.01.02 |
자바 기초, 주석문 어떻게 쓰는거지? (0) | 2018.12.01 |
자바의 기초 이해(구조, 컴파일, 실행) (0) | 2018.12.01 |
댓글