Skip to content

Latest commit

 

History

History
39 lines (21 loc) · 3 KB

aboutJava.md

File metadata and controls

39 lines (21 loc) · 3 KB

Java의 역사

  Java는 1991년, Sun Microsystems의 엔지니어들에 의해 고안된 Oak라는 언어에서 부터 출발됐다. 제임스 고슬링 등의 엔지니어들은 가전제품에 탑재될 SW를 만드는 것이었는데, C++을 확장해서 사용하려 했지만 목적을 이루기에 부족하다는 것을 깨달았다.

  그렇게 C++의 장점을 도입하고, 단점을 보완한 새로운 언어를 개발했고, 그것이 바로 Oak다. 처음엔 소형기기에 사용될 목적이었으나, 인터넷의 등장으로 인해 OS에 독립적인 Oak가 이에 적합하다고 판단하여 개발 방향을 바꾸었고, 이름을 Java로 변경했다. 그렇게 자바로 개발한 Hot Java를 발표하고, 1996년 1월에 Java의 정식 버전을 발표했다.

  그렇게 자바로 작성된 Applet이 인기를 끌었고, 보안상의 이유로 Applet을 더 이상 지원하지 않게 되자 ServletJSP가 많이 사용됐다. 이후 AOS에서도 사용되고, Spring의 등장으로 많은 기업에서 사용하는 언어가 되었다.


Java의 특징과 OOP

  Java는 많은 개발자들에게 사랑을 받고 있는 언어다. 기존에 인기 있던 다른 언어에는 없는 장점을 가지고 있기 때문이다. 그럼 어떤 특징이 있는지 알아보자.

1. OS에 독립적이다.

  Windows 환경에서 C 코드를 작성하고 Mac OS에서 실행하면 오류가 발생할 수 있다. 하지만 Java는 그렇지 않다. JVM(; Java Virtual Machine)이 있기 때문이다. 이 부분에 대해선 다음에 다시 자세히 알아보자.

2. 객체지향언어이다.

  Java는 OOP의 특징을 모두 적용하고 있다. 클래스와 접근지정자로 캡슐화를 만족하고, 상속을 지원하며, Overloading, Overriding, Interface를 통해 다형성을 만족한다.

3. 가비지 컬렌션

  Java 파일이 실행되면 Garbage Collector가 자동적으로 메모리를 관리해주기 때문에 프로그래머가 메모리 관리를 따로 하지 않아도 된다. C++과 같이 소멸자를 만들 필요가 없다는 말이다.

4. 네트워크와 분산처리를 지원한다

  풍부하고 다양한 네트워크 프로그래밍 라이브러리를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원한다.

5. 멀티 쓰레드를 지원한다.

  Java에서 개발되는 멀티 쓰레드 프로그램은 시스템과는 관계없이 구현 가능하며, 관련된 라이브러리가 제공되므로 구현이 쉽다. 그리고 여러 쓰레드에 대한 스케줄링을 자바 인터프리터가 담당하게 된다.

6. 동적 로딩을 지원한다.

  동적 로딩을 지원하기 때문에 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.